oracle报ora-08002,ORA-08002: 序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义
环境Oracle 11.2.0 + SQL Plus问题查询Sequence的当前值出现以下错误:SQL> SELECT seq_WGB_Test2.CURRVAL FROM dual;SELECT seq_WGB_Test2.CURRVAL FROM dual*第 1 行出现错误:ORA-08002: 序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义解决首先创建一个测试
环境
Oracle 11.2.0 + SQL Plus
问题
查询Sequence的当前值出现以下错误:
SQL> SELECT seq_WGB_Test2.CURRVAL FROM dual;
SELECT seq_WGB_Test2.CURRVAL FROM dual
*
第 1 行出现错误:
ORA-08002: 序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义
解决
首先创建一个测试序列:
SQL> CREATE SEQUENCE seq_WGB_Test2
2 INCREMENT BY 1
3 START WITH 1000;
序列已创建。
然后查询当前值:
SQL> SELECT seq_WGB_Test2.CURRVAL FROM dual;
SELECT seq_WGB_Test2.CURRVAL FROM dual
*
第 1 行出现错误:
ORA-08002: 序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义
调用NEXTVAL后再次查询当前值:
SQL> SELECT seq_WGB_Test2.NEXTVAL FROM dual;
NEXTVAL
----------
1000
SQL> SELECT seq_WGB_Test2.CURRVAL FROM dual;
CURRVAL
----------
1000
SQL>
创建Sequence后直接查询它的当前值(CURRVAL)会出错,要先调用Sequence对象.NEXTVAL,才能查询当前值。注意:Oracle是不区分对象名大小写的。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)