Oracle
序列:是Oracle提供的用于产生一系列唯一数字的数据库对象。
其作用在于:1、自动提供唯一的数值;2、共享对象;3、主要用于提供主键值
在Oracle数据库中创建序列需要一定的权限 create sequence 或 create any sequence
创建语法:
CREATE SEQUENCE sequence - 序列名称
【INCREMENT BY n】- 步长,如果n是正数则递增,如果n是负数则递减,n默认值是1
【START WITH n】 - 开始的值,递增默认是minvalue,递减默认是maxvalue
【{MAXVALUE n | NOMAXVALUE}】 - 最大值
【{MINVALUE n | NOMINVALUE}】 - 最小值
【{CYCLE | NOCYCLE}】 - 循环/不循环
【{CACHE n | NOCACHE}】 - 分配并存入内存中(一般不存入内存),默认缓存20
NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用
CURRVAL 序列当前值
NEXTVAL应在CURRVAL之前指定,二者应同时有效
序列在下列情况下会出现裂缝:1、回滚;2、系统异常
修改序列:
语法与创建一致,将CREATE更换为ALTER
修改序列的注意事项:
1、必须是序列的拥有者或者对序列具有ALTER权限才能进行修改