mysequence.CURVAL आपके में अनुक्रम mysequence से प्राप्त नवीनतम मान देता है सत्र, और इसलिए तब तक परिभाषित नहीं किया जाता जब तक कि आप सत्र में कम से कम एक बार mysequence.NEXTVAL का उपयोग करके मान प्राप्त नहीं कर लेते। CURRVAL का उद्देश्य आपको अपने कोड में एक से अधिक बार अनुक्रम मान का उपयोग करने देना है उदा.
insert into parent (parent_id, ...) values (mysequence.NEXTVAL, ...);
insert into child (parent_id, ...) values (mysequence.CURRVAL, ...);
यदि CURRVAL ने अनुक्रम से प्राप्त अंतिम मान को किसी भी . द्वारा लौटाया है सत्र, तो यह उपरोक्त कोड में बेकार होगा, और वास्तव में डेटा भ्रष्टाचार का कारण बन सकता है!