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 BYdeclaració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 ?