Sto avendo difficoltà a convertire le stored procedure da SQL Server a Oracle per avere il nostro prodotto compatibile con esso.
Ho query che restituiscono il record più recente di alcune tabelle, in base a un timestamp:
Server SQL:
SELECT TOP 1 *
FROM RACEWAY_INPUT_LABO
ORDER BY t_stamp DESC
=> Questo mi restituirà il record più recente
Ma Oracle:
SELECT *
FROM raceway_input_labo
WHERE rownum <= 1
ORDER BY t_stamp DESC
=> Questo mi restituirà il record più vecchio (probabilmente a seconda dell'indice), indipendentemente ORDER BY
dall'istruzione!
Ho incapsulato la query Oracle in questo modo per soddisfare i miei requisiti:
SELECT *
FROM
(SELECT *
FROM raceway_input_labo
ORDER BY t_stamp DESC)
WHERE rownum <= 1
e funziona. Ma a me sembra un orribile trucco, soprattutto se ho molti record nelle tabelle coinvolte.
Qual è il modo migliore per ottenere questo risultato?