数据库对象:序列(SEQUENCE)
-
序列是一种用来生成唯一数字值的数据库对象
-
序列的值有Oracle程序按递增或递减顺序自动生成,序列的值是不能回退的,除非该序列设置可重复利用
-
序列是独立的数据库对象,和表是同级别的,序列并不依附于表
-
通常情况下,一个序列为一个表提供主键值,但一个序列也可以为多个表提供主键值
-
命名通常以’seq’开头,如:seq_emp_id
创建序列
-
语法:
CREATE SEQUENCE sequence_name
START WITH i INCREMENT BY j
MAXVALUE m|NOMAXVALUE
MINVALUE n|NOMINVALUE
CYCLE|NOCYCLE|CACHE p|NOCACHE -
sequence_name是序列名
-
START WITH i INCREMENT BY j:可以不设置,默认都为1,作用是设置序列的第一个值为i,步进为j,如果j是正数,表示递增,如果是负数,表示是递减
-
MAXVALUE m 或 NOMAXVALUE:可以不设置,作用是设置序列的最大值m,默认是NOMAXVALUE
-
MINVALUE n 或 NOMINVALUE:可以不设置,作用是设置序列的最小值n,默认是NOMINVALUE
-
CYCLE、NOC