Oracle序列
Oracle序列Sequence是用来生成连续的整数数据的对象,它经常用来作为业务中无规则的主键。Oracle序列可以是升序列也可以是降序列。
创建Oracle序列的语法结构如下:
CREATE SEQUENCE sequence_name
[MAXVALUE num|NOMAXVALUE]
[MINVALUE num|NOMINVALUE]
[START WITH num]
[INCREMENT BY increment]
[CYCLE|NOCYCLE]
[CACHE num|NOCACHE]
语法解析:
-
1、MAXVALUE/MINVALUE:指定的是序列的最大值和最小值。
-
2、NOMAXVALUE/NOMINVALUE:不指定序列的最大值和最小值,使用系统的默认选项,升序的最大值:1027,降序的最大值:-1。升序最小值:1,降序的最小值:-1026。
-
3、START WITH:指定从某一个整数开始,升序默认是1,降序默认是-1。
-
4、CYCLE | NOCYCLE:表示序列达到最大值或者最小值的时候,是否重新开始。CYCLE:重新开始,NOCYCLE:不重新开始。
-
5、CACHE:使用 CACHE 选项时,该序列会根据序列规则预生成一组序列号。保留在内存中,当使用下一个序列号时,可以更快的响应。当内存中的序列号用完时,系统再生成一组新的序列号,并保存在缓存中,这样可以提高生成序列号的效率 。
-
6、NOCACHE:不预先在内存中生成序列号。