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