1. 程式人生 > >Oracle 序列建立、使用、修改、刪除

Oracle 序列建立、使用、修改、刪除

建立序列

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