Nie ma czegoś takiego jak „ostatni” wiersz w tabeli, ponieważ tabela Oracle nie ma pojęcia o kolejności.
Zakładając jednak, że chcesz znaleźć ostatnio wstawiony klucz podstawowy i że ten klucz podstawowy jest liczbą rosnącą, możesz zrobić coś takiego:
select *
from ( select a.*, max(pk) over () as max_pk
from my_table a
)
where pk = max_pk
Jeśli masz datę utworzenia każdego wiersza, stanie się to, jeśli kolumna ma nazwę created
:
select *
from ( select a.*, max(created) over () as max_created
from my_table a
)
where created = max_created
Możesz też użyć zapytania zbiorczego, na przykład:
select *
from my_table
where pk = ( select max(pk) from my_table )
Oto małe skrzypce SQL do zademonstrowania.