Me resulta difícil convertir los procedimientos almacenados de SQL Server a Oracle para que nuestro producto sea compatible con él.
Tengo consultas que devuelven el registro más reciente de algunas tablas, basado en una marca de tiempo:
Servidor SQL:
SELECT TOP 1 *
FROM RACEWAY_INPUT_LABO
ORDER BY t_stamp DESC
=> Eso me devolverá el registro más reciente
Pero Oracle:
SELECT *
FROM raceway_input_labo
WHERE rownum <= 1
ORDER BY t_stamp DESC
=> ¡Eso me devolverá el registro más antiguo (probablemente según el índice), independientemente de la ORDER BY
declaración!
Encapsulé la consulta de Oracle de esta manera para que coincida con mis requisitos:
SELECT *
FROM
(SELECT *
FROM raceway_input_labo
ORDER BY t_stamp DESC)
WHERE rownum <= 1
y funciona. Pero me parece un truco horrible, especialmente si tengo muchos registros en las tablas involucradas.
Cuál es la mejor manera de lograr esto ?