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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索select
, 查询
, 错误
, 序列
, seq
, from
当前
mycat seq currval、尚未在此会话中定义、共享会话尚未建立完成、尚未建立电子邮件会话、currval,以便于您获取更多的相关知识。

时间: 2024-08-21 19:24:17

ORA-08002错误:序列 SEQ_WGB_TEST2.CURRVAL 尚未在此会话中定义的相关文章

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询

plsql连接oracle数据库报ora 12154错误解决方法_oracle

plsql连接oracle数据库报ora 12154错误 今天遇到一个问题,使用sqlplus能够连接到远程的数据库,但是使用plsql却连接不上,报错"ORA-12154: TNS: 无法解析指定的连接标识符" 解决方法如下: 1.先检查服务器端的监听服务是否打开,如果没有打开请启动其监听 客户端:tnsping <tns_name> 服务器Linux下: #>lsnrctl status 查看监听状态 #>lsnrctl start 启动监听 2.通过Sql

Kettle中定义错误处理

在kettle执行的过程中,如果遇到错误,kettle会停止运行.在某些时候,并不希望kettle停止运行,这时候可以使用错误处理(Step Error Handling).错误处理允许你配置一个步骤来取代出现错误时停止运行一个转换,出现错误的记录行将会传递给另一个步骤.在Step error handling settings对话框里,需要设置启用错误处理. 下面例子中读取postgres数据库中的a0表数据,然后输出到a1表: a1表结构如下: CREATE TABLE a1 ( a dou

配置错误 昨天还好好的今天 在VS中调试的时候就出现配置错误

问题描述 配置错误 昨天还好好的今天 在VS中调试的时候就出现配置错误 分析器错误消息: 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的.如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误.

虚拟机安装MS-DOS不可恢复性错误vcpu-0 在安装目录vmware.log文件中

问题描述 虚拟机安装MS-DOS不可恢复性错误vcpu-0 在安装目录vmware.log文件中 虚拟机安装MS-DOS boot设置从硬盘启动后出现,不可恢复性错误vcpu-0 在安装目录vmware.log文件中 解决方案 安装dos这种很旧很旧的系统,推荐用dosbox.不用vmware 解决方案二: 和vmware不同,vmware是虚拟机,你的cpu太新,那么运行dos就有问题了. dosbox是模拟器,它模拟一个386出来运行dos,没有兼容性问题(所以dosbox甚至可以让手机ar

c语言-看了不下十遍,看不出语法错误在哪 C语言,在VS2013中运行

问题描述 看了不下十遍,看不出语法错误在哪 C语言,在VS2013中运行 #include //主函数 int main() { int max(int x, int y); int a, b, c; scanf("%d,%d", &a, &b); c = max(a,b); printf("max=%dn", c); return 0; } //求两个整数中的较大者的max函数 int max(int x, int y) { int z; if (

编译器错误消息: CS0117: “Entity.PaperByRandomSelection”并不包含“SingleSelectionSum_1”的定义

问题描述 usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usi

oracle 11g导出数据时报ORA 1455错误的处理方法_oracle

由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 首先: 查看: SQL>show parameter deferred_segment_creation; 如果为TRUE,则将该参数改为FALSE: 在sqlplus中,执行如下命令: SQL>alter system set deferred_segment_creation=false; 然后: 可以针对数据表.索引.物化视图等手工分配Extent SQL>Select 'alter table '||table_n

ORA 00054错误处理方法

1.通过以下查找出已被锁定的数据库表及相关的sid.serial#及spid select object_name as 对象名称,s.sid,s.serial#,p.spid as 系统进程号 from v$locked_object l , dba_objects o , v$session s , v$process p where l.object_id=o.object_id and l.session_id=s.sid and s.paddr=p.addr; 2.在数据库中灭掉相关s