创建序列
Oracle中的序列(SEQUENCE)是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值,可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。
创建序列需要CREATE SEQUENCE系统权限。序列的创建语法如下:
Code
修改: 序列的某些部分可以在使用中进行修改,但不能修改SATRT WITH选项。对序列的修改只影响随后产生的序号,已经产生的序号不变。
修改序列的语法如下:
修改序列的语法如下:
1ALTER SEQUENCE table_S
2 INCREMENT BY 10
3 MAXVALUE 10000
4 CYCLE -- 到10000后从头开始
5 NOCACHE ;
6
2 INCREMENT BY 10
3 MAXVALUE 10000
4 CYCLE -- 到10000后从头开始
5 NOCACHE ;
6
P.S:
第一次NEXTVAL返回的是初始值;随后的NEXTVAL会自动增加你定义的INCREMENT BY值,然后返回增加后的值。CURRVAL 总是返回当前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否则会出错。一次NEXTVAL会增加一次SEQUENCE的值,所以如果你在同一个语句里面使用多个NEXTVAL,其值就是不一样的。
删除:
1DROP SEQUENCE order_seq;
删除序列的人应该是序列的创建者或拥有DROP ANY SEQUENCE系统权限的用户。序列一旦删除就不能被引用了。
成长
/ | \
学习 总结 分享
QQ交流群:122230156