mysequence.CURRVAL returnerer den seneste værdi, der blev opnået fra sekvens mysequence i din session, og er derfor ikke defineret, før du har opnået en værdi ved hjælp af mysequence.NEXTVAL mindst én gang i sessionen. Formålet med CURRVAL er at lade dig bruge sekvensværdien mere end én gang i din kode, f.eks.
insert into parent (parent_id, ...) values (mysequence.NEXTVAL, ...);
insert into child (parent_id, ...) values (mysequence.CURRVAL, ...);
Hvis CURRVAL lige returnerede den sidste værdi opnået fra sekvensen af enhver session, så ville det være ubrugeligt i ovenstående kode, og faktisk kunne føre til datakorruption!