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

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

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

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

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

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

时间: 2024-10-21 09:54:10

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

select sequence.currval 时报错 ORA-08002: 序列XXXX尚未在此进程中定义

情景描述: 1.我们创建一个表,表名为S_DEPART -- Create table create table S_DEPART ( departid INTEGER not null, departname NVARCHAR2(40) not null, departorder INTEGER default 0 ) 2.创建一个sequence序列,名称为S_DEPART_S CREATE SEQUENCE S_DEPART_S MINVALUE 1 MAXVALUE 9999999999

oracle的sequence序列

Sequence:序列是一个数据对象,可以用来生成唯一的整数.是数据库里独立的对象,不依赖任何表,为oracle所特有.用来自动生成主键值,可以用sequence的地方:inert语句的子查询中,update的set等.创建序列 :Create sequence seqname -increament by 1//每次增长1 -start with 1//从1开始增长 -maxvalue 100//最大值是100,nomaxvalue:不设最大值 -nocycle//一直累加没有循环 -noca

oracle触发器、序列、任务计划练习一例

今天在闲暇时间练习了一下oracle任务计划,具体详情如下 1.创建表 TBL_TIME create table tbl_time( id number not null,    /*id号*/ vsecond varchar2(2),   /* 秒*/ vtime varchar2(10)    /*当前时间*/ ) 2.创建序列 seq_tbltime create sequence seq_tbltime start with 1 increment by 1 nomaxvalue no

Oracle操作ORA-02289: 序列不存在 解决方案

hibernate 操作数据库时, 当添加操作时报 Oracle操作ORA-02289: 序列不存在 hibernate描述文件 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourcefor

oracle 手动增加序列值

1.select seq_name.nextval from dual; //假设得到结果5656 2.alter sequence seq_name increment by -5655; //注意是-(n-1) 3.select seq_name.nextval from dual;//再查一遍,走一下,重置为1了 4.alter sequence seq_name increment by 1;//还原 oracle 手动增加序列值

案例:Oracle exp dmp文件损坏 通过CPFL工具抽取dmp中的数据表进行恢复

Oracle数据库逻辑导出exp的dmp文件损坏,通过非常规恢复抽取dmp文件中表的数据 在有些时候,exp的dmp文件因为某种原因损坏(比如磁盘异常,exp过程损坏等),导致imp导入无法继续,下面的处理方法(直接读取dmp文件)来对dmp文件进行抢救性恢复,最大程度减少数据丢失损失 1.创建exp dmp文件并使用dd破坏 SQL> create table t_xifenfei as select * from dba_objects; Table created. SQL> selec

学习笔记:Oracle dul数据挖掘 导出Oracle11G数据文件坏块中表中

试验模拟导出Oracle 11G数据库中数据文件坏块中表中的数据 以前一直以为dul对应的版本只能恢复最高的数据库版本一致,今天测试发现dul 10可以恢复11g最新版的数据库.模拟环境 SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition

oracle整体结构-内存结构、物理结构、逻辑结构、进程

Oracle的体系结构大体上分为两部分:Instance(实例)和Database(数据库). Instance(实例) :在Oracle Instance中主要包含了SGA以及一些进程(例如:PMON.SMON.DBWn.LGWR.CKPT等).如果一个用户的进程连接到Oracle Server时,其实就是连接到Oracle Instance.在SGA中又包含了5大部件:Share Pool.Database Buffer Cache.Redo Log Buffer.Java Pool.Lar

oracle数据库建立序列、使用序列实现主键自增

2.建立序列 -- Create sequence create sequence SEQ_SHIP_IMAGEminvalue 20maxvalue 999999999999999999start with 40increment by 1cache 20; 使用序列: SELECT SEQ_SHIP_IMAGE.Nextval from dual;insert into ship_image (id,img_path,remark,ship_id) values (SEQ_SHIP_IMAG