Il n'y a pas de "dernière" ligne dans une table, car une table Oracle n'a pas de concept d'ordre.
Cependant, en supposant que vous vouliez trouver la dernière clé primaire insérée et que cette clé primaire est un nombre qui s'incrémente, vous pouvez faire quelque chose comme ceci :
select *
from ( select a.*, max(pk) over () as max_pk
from my_table a
)
where pk = max_pk
Si vous avez la date à laquelle chaque ligne a été créée, cela deviendrait, si la colonne est nommée created
:
select *
from ( select a.*, max(created) over () as max_created
from my_table a
)
where created = max_created
Vous pouvez également utiliser une requête agrégée, par exemple :
select *
from my_table
where pk = ( select max(pk) from my_table )
Voici un petit SQL Fiddle à démontrer.