Oracle 序列建立、使用、修改、刪除
阿新 • • 發佈:2018-11-22
建立序列
CREATE SEQUENCE sequence_name
[START WITH num]
[INCREMENT BY increment]
[MAXVALUE num|NOMAXVALUE]
[MINVALUE num|NOMINVALUE]
[CYCLE|NOCYCLE]
[CACHE num|NOCACHE]
(1)start with
從某一個整數開始,升序預設值是1,除序預設值是-1.
(2)increment by
增長數。如果是正數則升序生成,如果是負數則降序生成。升序預設值 是1,降序預設值是-1.
(3)maxvalue
最大值。
(4)minvalue
最小值。
(5)nomaxvalue
升序的是1027,降序是-1
(6)nominvalue
升序是1,降序是-1026
(7)cycle
表示如果升序達到最大值後,從最小值重新開始,降序同理。
(8)nocycle
表示不重新開始。
(9)cache
為了更快的響應,儲存在記憶體中的一些序列,預設20個。
(10)nocache
不預先在記憶體中生成序列號。
生成序列號
SQL> CREATE SEQUENCE MYSEQ MINVALUE 1 START WITH 1 NOMAXVALUE INCREMENT BY 1 NOCYCLE CACHE 30 / Sequence created
使用
SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;
NEXTVAL
----------
SQL> SELECT MYSEQ.NEXTVAL FROM DUAL;
NEXTVAL
----------
SQL> SELECT MYSEQ.CURRVAL FROM DUAL;
CURRVAL
----------
修改
使用alter sequence可以修改序列,在修改序列時有如下限制:
(1)不能修改序列的初始值
(2)最小值不能大於當前值
(3)最大值不能小於當前值
SQL> ALTER SEQUENCE MYSEQ MAXVALUE 10000 MINVALUE -300 / SEQUENCE ALTERED SQL> DROP SEQUENCE MYSEQ; SEQUENCE DROPPED