Der er ikke sådan noget som den "sidste" række i en tabel, da en Oracle-tabel ikke har noget ordensbegreb.
Men forudsat at du ville finde den sidst indsatte primærnøgle og at denne primærnøgle er et stigende tal, kan du gøre noget som dette:
select *
from ( select a.*, max(pk) over () as max_pk
from my_table a
)
where pk = max_pk
Hvis du har den dato, som hver række blev oprettet, ville dette blive, hvis kolonnen hedder created
:
select *
from ( select a.*, max(created) over () as max_created
from my_table a
)
where created = max_created
Alternativt kan du bruge en samlet forespørgsel, for eksempel:
select *
from my_table
where pk = ( select max(pk) from my_table )
Her er en lille SQL Fiddle at demonstrere.