加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Oracle:序列MySequence.currval在此会话中尚未定义

发布时间:2020-12-12 14:07:05 所属栏目:百科 来源:网络整理
导读:这是什么意思,我如何摆脱它? SELECT MySequence.CURRVAL FROM DUAL; 结果: ORA-08002: sequence MySequence.CURRVAL is not yet defined in this session mysequence.CURRVAL返回从您的会话中的序列mysequence获得的最新值,因此不会定义,直到您在会话中
这是什么意思,我如何摆脱它?
SELECT MySequence.CURRVAL FROM DUAL;

结果:

ORA-08002: sequence MySequence.CURRVAL is not yet defined in this session

mysequence.CURRVAL返回从您的会话中的序列mysequence获得的最新值,因此不会定义,直到您在会话中至少使用mysequence.NEXTVAL获取了一个值。 CURRVAL的目的是让您在代码中多次使用序列值。
insert into parent (parent_id,...) values (mysequence.NEXTVAL,...);

insert into child (parent_id,...) values (mysequence.CURRVAL,...);

如果CURRVAL只是返回从任何会话从序列获得的最后一个值,那么在上面的代码中将是无用的,事实上可能导致数据损坏!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读