[oracle] ORA-08002:序列XXXXXXX.CURRVAL尚未在此进程中定义

时间:2024-01-02 18:54:15

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

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

一下序列的下一个值(此时,Oracle会自动缓存已查询的序列值),再查询序列的当前值。

XXXXXXX.CURRVAL 只有在访问了XXXXXXX.NEXTVAL时才有效

select XXXXXXX.NEXTVAL from dual;
select XXXXXXX.CURRVAL from dual;
而直接
select XXXXXXX.CURRVAL from dual;
是不能执行的。