Oracle序列管理

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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章