close

一、建立序列
CREATE SEQUENCE X_SEQ_MainTain_No
MINVALUE 1
MAXVALUE 99999999999
START WITH 1
INCREMENT BY 1
NOCYCLE
CACHE 20
ORDER ;

MINVALUE 1   --最小值
MAXVALUE 99999999999   --最大值
START WITH 1   --起始數值
INCREMENT BY 1   --每次增加1
NOCYCLE    --一直累加不循環
CACHE 20  --緩衝快取
ORDER ;  --不知道

二、呼叫序列
定義完成SEQUENCE,就可使用CURRVAL,NEXTVAL

CURRVAL=返回 SEQUENCE的當前值
NEXTVAL=增加SEQUENCE的值,然後回傳 SEQUENCE 值

EXAMPLE:

X_SEQ_Maintain_No.CURRVAL
X_SEQ_Maintain_No.NEXTVAL

可以使用SEQUENCE的地方:

- 不包含子查詢、snapshot、VIEW的 SELECT 語句
- INSERT語句的子查詢中
- NSERT語句的VALUES中
- UPDATE 的 SET中

三、修改序列
你或者是該SEQUENCE的owner,或者有ALTER ANY SEQUENCE權限才能改動SEQUENCE. 可以alter除start至以外的所有SEQUENCE參數.如果想要改變start值,必須 DROP SEQUENCE 再重新建立一個SEQUENCE

Alter SEQUENCE
ALTER SEQUENCE X_SEQ_Maintain_No
INCREMENT BY 10
MAXVALUE 10000
CYCLE -- 到10000後從頭開始
NOCACHE ;

影響SEQUENCE的初始化參數:

SEQUENCE_CACHE_ENTRIES =設置能同時被cache的SEQUENCE數目。

四、刪除序列 DROP SEQUENCE
DROP SEQUENCE X_SEQ_Maintain_No;

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 pointer53 的頭像
    pointer53

    EBS備忘錄

    pointer53 發表在 痞客邦 留言(0) 人氣()