- -- [新增]
- 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 回應:
張貼留言