CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次遞增 1
START WITH 1 -- 從 1 開始
NOMAXVALUE -- 無上限
NOCYCLE -- 不循環
CACHE 10; -- 記憶體預載 10 個值
| 屬性 | 說明 |
|---|---|
CURRVAL | 回傳 Sequence 當前值(需先在該 Session 呼叫過 NEXTVAL) |
NEXTVAL | 遞增 Sequence 並回傳新值 |
INSERT INTO emp VALUES (empseq.NEXTVAL, 'LEWIS', 'CLERK', 7902, SYSDATE, 1200, NULL, 20);
SELECT empseq.CURRVAL FROM DUAL;
NEXTVAL 回傳 START WITH 值;後續每次遞增 INCREMENT BY。CURRVAL 僅在該 Session 執行過 NEXTVAL 後可用,否則報 ORA-08002。NEXTVAL,每次皆遞增並回傳不同值。NOCACHE。ALTER SEQUENCE emp_sequence
INCREMENT BY 10
MAXVALUE 10000
CYCLE
NOCACHE;
無法修改 START WITH,需 DROP SEQUENCE 後重建。
DROP SEQUENCE order_seq;
SEQUENCE_CACHE_ENTRIES:設定同時可快取的 Sequence 數量上限。