Oracle序列(sequence)是一種數據庫項,能夠生成一個整數序列。通常用於填充數字類型的主鍵列。
1、創建序列:
CREATE SEQUENCE sequence_name
[START WITH start_num]
[INCREMENT BY increment_num]
[{MAXVALUE maximum_num|NOMAXVALUE}]
[{MINVALUE minimum_num|NOMINVALUE}]
[{CYCLE|NOCYCLE}]
[{CACHE cache_num|NOCACHE}]
[{ORDER|NOORDER}]
其中:
- start_num:序列開始整數
- increment_num:每次增加的整數增量
- maximum:序列最大整數
- minimum:序列最小整數
- CYCLE:循環生成
- NOCYCLE:不循環生成,默認值
- cache_num:保存在內存中的整數的個數
- NOCACHE:不緩存任何整數
例如:
CREATE SEQUENCE seq_test;(默認值)
CREATE SEQUENCE seq_test START WITH 1 INCREMENT BY 2;
2、使用序列:
SELECT seq_test.nextval FROM dual;
insert into order_status2 (id) values (seq_test.nextval);
3、修改序列:
ALTER SEQUENCE語句來修改序列。可以修改的內容:
- 不能修改序列的初值
- 序列的最小值不能大於當前值
- 序列的最大值不能小於當前值
例如:ALTER SEQUENCE seq_test INCREMENT BY 3;
4、刪除序列:
DROP SEQUENCE seq_test;