创建序列
CREATE SEQUENCE seq_name --序列名字
INCREMENT BY 1 --每次自增1, 也可写非0的任何整数,表示自增,或自减
START WITH 1 --以该值开始自增或自减
MAXVALUE 1.0E20 --最大值;设置NOMAXVALUE表示不设置最大值(由机器决定),或根据表字段的值范围设置 maxvalue
MINVALUE 1 --最小值;设置NOMINVALUE表示不设置最小值
NOCYCLE --设置到最大值后是否循环;CYCLE or NOCYCLE
NOCACHE --不建立缓冲区。如果建立cache那么系统将自动读取cache值个seq,这样会加快运行速度;如果在单机中使用cache,或者oracle死了,那么下次读取的seq值将不连贯,所以不建议使用cache。
NOORDER --设置是否按照请求的顺序产生序列 ORDER or NOORDER
修改序列
ALTER SEQUENCE seq_name --序列名 也可以更改
INCREMENT BY 1
START WITH 1
MAXVALUE 99999
MINVALUE 1
CYCLE --到99999后,从头开始
NOCACHE --不缓存序列
注:
1、如果想要改变start的值,必须 drop sequence 再重建一个序列
2、如果想要改变minvalue的值,必须删除序列后再重新建立序列化。不可以修改序列化的minvalue。
修改序列名称
RENAME oldseq_name TO newseq_name
删除序列
DROP SEQUENCE seq_name
查询序列
SELECT * FROM dba_sequences