目录
创建序列
CREATE SEQUENCE sequence_name
START WITH start_value -- 指定起始值(可选)
INCREMENT BY increment_value -- 指定递增量(默认为1)
MAXVALUE max_value -- 最大值限制(可选)
MINVALUE min_value -- 最小值限制(可选)
CYCLE | NOCYCLE; -- 设置是否循环使用(可选)
sequence_name表示要创建的序列名称;
start_value表示序列开始时的初始值;
increment_value表示每次递增或递减的数量;
max_value表示序列的最大值限制;
min_value表示序列的最小值限制。
CYCLE参数表示当达到最大/最小值后是否重新从头开始计数,NOCYCLE则不会重复。
修改序列
ALTER SEQUENCE sequence_name
[INCREMENT BY increment_value] -- 修改递增量
[MAXVALUE max_value] -- 修改最大值限制
[MINVALUE min_value] -- 修改最小值限制
[CYCLE | NOCYCLE]; -- 修改是否循环使用
-
示例:创建一个名为seq_example的序列,起始值为100,递增量为1,没有最大值限制,也不需要循环使用:
CREATE SEQUENCE seq_example
START WITH 100
INCREMENT BY 1
NOCYCLE;
-
修改名为seq_example的序列,将递增量修改为10,并且添加了最大值限制为999999:
ALTER SEQUENCE seq_example
INCREMENT BY 10
MAXVALUE 999999;
查询序列
方法一:使用SELECT语句查询序列的当前值:
SELECT sequence_name.CURRVAL FROM dual;
方法二:在SELECT语句中使用序列的NEXTVAL,来获取序列的下一个值:
SELECT sequence_name.NEXTVAL FROM dual;
其中,sequence_name是你要查询的序列名称。