在oracle中,可利用select语句配合Nextval查询下一个序列,Nextval第一次返回的是初始值,之后每次都会增加一次sequence值,因此可查询下一个序列,语法为“select 序列名.Nextval from dual”。

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle怎么查询下一个序列

select 序列名.Nextval from dual;--生成并获得下一个序列
select 序列名.CURRVAL from dual;--如果与上述语句为同一会话,可以通过此句获得上面生成的序列。

示例如下:

25.png

扩展知识:

SELECT INR_REQUIRMENT_SQUENCE.CURRVAL FROM dual

--获取当前的sequence的值,第一次NEXTVAL返回的是初始值;

随后的NEXTVAL会自动增加你定义的INCREMENT BY值, 然后返回增加后的值。CURRVAL 总是返回当前sequence的值,但是在第一次NEXTVAL 初始化之后才能使用CURRVAL,否则会出错。

一次NEXTVAL会增加一次sequence的值, 所以如果你在同一个语句里面使用多个NEXTVAL。

其实sequence是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,在插入之前,获取序列号nextval值,然后进行插入。也可以通过查询检查当前值,或使序列增至下一个值。

如何定义一个sequence?

create sequence INR_REQUIRMENT_SQUENCE  
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10;

推荐教程:《Oracle视频教程》

以上就是oracle怎么查询下一个序列的详细内容,转载自php中文网

点赞(900) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部