在oracle中,可利用select语句配合Nextval查询下一个序列,Nextval第一次返回的是初始值,之后每次都会增加一次sequence值,因此可查询下一个序列,语法为“select 序列名.Nextval from dual”。
本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
oracle怎么查询下一个序列
select 序列名.Nextval from dual;--生成并获得下一个序列
select 序列名.CURRVAL from dual;--如果与上述语句为同一会话,可以通过此句获得上面生成的序列。
示例如下:
扩展知识:
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中文网
发表评论 取消回复