Мені важко перетворити збережені процедури з SQL Server в Oracle, щоб наш продукт був сумісний з ним.
У мене є запити, які повертають найновіший запис деяких таблиць на основі часової позначки:
SQL Server:
SELECT TOP 1 *
FROM RACEWAY_INPUT_LABO
ORDER BY t_stamp DESC
=> Це поверне мені останній запис
Але Oracle:
SELECT *
FROM raceway_input_labo
WHERE rownum <= 1
ORDER BY t_stamp DESC
=> Це поверне мені найстаріший запис (можливо, залежно від індексу), незалежно від ORDER BY
твердження!
Я записував запит Oracle таким чином, щоб відповідати моїм вимогам:
SELECT *
FROM
(SELECT *
FROM raceway_input_labo
ORDER BY t_stamp DESC)
WHERE rownum <= 1
і це працює. Але це звучить як жахливий злом для мене, особливо якщо у мене багато записів у задіяних таблицях.
Який найкращий спосіб досягти цього?