2MUCH

ORACLE-序列

2022-06-13


ORACLE-序列

背景:了解NEXTVAL的概念

ORACLE序列

概念

是oacle提供的用于产生一系列唯一数字的数据库对象。主要用于提供主键值

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

创建方式

CREATE SEQUENCE sequence  //创建序列名称

       [INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1

       [START WITH n]    //开始的值,递增默认是minvalue 递减是maxvalue

       [{MAXVALUE n | NOMAXVALUE}] //最大值

       [{MINVALUE n | NOMINVALUE}] //最小值

       [{CYCLE | NOCYCLE}] //循环/不循环

       [{CACHE n | NOCACHE}];//分配并存入到内存中

CURRVAL

CURRVAL 中存放序列的当前值

SELECT INR_REQUIRMENT_SQUENCE.CURRVAL FROM dual - 获取当前的sequence的值

CURRVAL = 最后一次对 NEXTVAL 的引用所返回的值

NEXTVAL

NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用

select SEQ_TABLESPACETEST_con.nextval from dual - 获取下一个值,序列经过查询每次也会自增

注意:

注意:要对序列使用 NEXTVAL 或 CURRVAL。必须对序列具有选择特权或对数据库具有 DBA 特权。

参考链接

https://blog.csdn.net/java958199586/article/details/7360152

https://www.itxm.cn/post/35733.html#/