ORA-08002 序列**_SEQUENCE.CURRVAL 尚未在此进程中定义 解决

oracle中进行序列当前值的查询 select **_SEQUENCE.CURRVAL from dual;

出现 ORA-08002: 序列**_SEQUENCE.CURRVAL 尚未在此进程中定义。

导致原因:因为是首次查询序列的当前值,内存中之前并没有缓存序列的任何值,所以需要先查询

一下序列的下一个值(此时,Oracle会自动缓存已查询的序列值),
select **_SEQUENCE.NEXTVAL from dual;

之后,再查询序列的当前值,便可以。
select **_SEQUENCE.CURRVAL from dual;

每一次查询序列都会自动增长
而直接
select **_SEQUENCE.CURRVAL from dual;
是不能执行的。

你可能感兴趣的:(oracle)