首页 > 数据库 > mysql教程 > ORA-08002: 序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义

ORA-08002: 序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义

WBOY
发布: 2016-06-07 17:28:44
原创
2236 人浏览过

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是不区分对象名大小写的。

linux

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板