这是什么意思,我该如何解决?
SELECT MySequence.CURRVAL FROM DUAL;
结果:
最佳答案
mysequence.CURRVAL返回从 session 中的序列mysequence获得的最新值,因此直到在 session 中至少使用一次mysequence.NEXTVAL获得值后才定义该值。 CURRVAL的目的是让您在代码中多次使用序列值,例如insert into parent (parent_id, ...) values (mysequence.NEXTVAL, ...);
insert into child (parent_id, ...) values (mysequence.CURRVAL, ...);
如果CURRVAL刚刚返回任何 session 通过从序列中获得的最后一个值,那么在上面的代码中它将是无用的,实际上可能导致数据损坏!
关于oracle - Oracle:此 session 中尚未定义序列MySequence.currval,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/809247/