mysequence.CURRVAL връща най-новата стойност, получена от последователността mysequence във вашата сесия и следователно не се дефинира, докато не получите стойност, използвайки mysequence.NEXTVAL поне веднъж в сесията. Целта на CURRVAL е да ви позволи да използвате стойността на последователността повече от веднъж във вашия код, напр.
insert into parent (parent_id, ...) values (mysequence.NEXTVAL, ...);
insert into child (parent_id, ...) values (mysequence.CURRVAL, ...);
Ако CURRVAL току-що върна последната стойност, получена от последователността от който и да е сесия, то би било безполезно в горния код и всъщност би могло да доведе до повреда на данните!