currval
returnerer den sidst genererede værdi for sekvensen inden for den aktuelle session. Så hvis en anden session genererer en ny værdi for sekvensen, kan du stadig hente den sidste værdi genereret af DIN session og undgå fejl.
Men for at få den sidst genererede værdi på enhver session, kan du bruge ovenstående:
SELECT last_value FROM your_sequence_name;
Vær forsigtig, hvis værdien blev brugt af en anden session med en ikke-forpligtet (eller afbrudt) transaktion, og du bruger denne værdi som reference, kan du få en fejl. Selv efter at have fået denne værdi kan den allerede være forældet. Generelt har folk bare brug for currval
eller endda returnering af setval
.