-- [新增]
CREATE SEQUENCE my_sequence
INCREMENT BY 1
START WITH 1
MAXVALUE 99999999999
NOCYCLE
CACHE 10
;
-- 參數說明:
INCREMENT BY n -- 每次疊加的值(正負數)
START WITH n -- 指定初始值,建立後將無法透過 ALTER 修改
MAXVALUE n -- 最大編號
NOMAXVALUE -- (預設)不設置最大值,由系統上限決定
MINVALUE n -- 最小編號
NOMINVALUE -- (預設 1)不設置最小值
CYCLE -- 當取至最大值後,是否循環再由最小值開始
NOCYCLE -- (預設)不設置循環,當超過限制時將返回異常
CACHE n -- (預設 20)系統會一次取出 n 個數作為快取,但會造成跳號的現象
NOCACHE -- 不使用快取,保證在產生的編號中沒有跳號,但這樣會降低性能.
-- [修改]
ALTER SEQUENCE my_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE
NOCACHE
;
-- [刪除]
DROP SEQUENCE my_sequence;
-- [使用方式]
my_sequence.CURRVAL -- 返回序號的當前值
my_sequence.NEXTVAL -- 增加序號的值,然後返回序號值
參考來源:
Oracle 產生自動編號方式
0 回應:
張貼留言