Oracle - Sequence序列
一、序列說明
ORACLE 沒有自增資料型別,如需生成業務無關的主鍵列或惟一約束列,可以用 Sequence 序列實現
二、建立序列
ORACLE 沒有自增資料型別,如需生成業務無關的主鍵列或惟一約束列,可以用 Sequence 序列實現
二、建立序列
CREATE SEQUENCE SEQ_NAME -- 序列名
MINVALUE 1 -- 定義序列的最小值,系統能產生的最大值為28個9。不設定時預設為 NOMINVALUE,此時遞增序列最小值為1,遞減為負10的26次方
MAXVALUE 10000 -- 定義序列的最大值,系統能產生的最大值為28個9。不設定時預設為 NOMAXVALUE,此時遞增序列最大值為10的27次方,遞減為負1
START WITH 1 -- 定義序列產生的第一個值。預設時,升序為最小值開始,降序為最大值開始
INCREMENT BY 1 -- 定義序列的步長。如果省略,則預設為1;如果出現負值,則代表為降序序列
NOCACHE -- 定義序列不預先快取值到記憶體。可以用 CACHE SIZE 來定義快取的大小,使用快取在獲取時能相對快一些但可能產生跳號
NOCYCLE -- 定義序列的值達到最大值後不迴圈。不迴圈用 NOCYCLE 表示,迴圈用 CYCLE 指定,預設 NOCYCLE
NOORDER ; -- 定義序列產生的序列號不需要保證按請求順序產生,需要使用 ORDER 指定,不需要也可以不定義該引數
三、刪除序列DROP SEQUENCE 使用者.序列名;
四、檢視序列
SELECT
SEQUENCE_NAME, MIN_VALUE, MAX_VALUE, INCREMENT_BY, CYCLE_FLAG, ORDER_FLAG, CACHE_SIZE, LAST_NUMBER
FROM DBA_SEQUENCES;
五、查詢獲取 -- 查詢序列的當前的值
SELECT SEQ_NAME.CURRVAL FROM DUAL; -- SEQUENCE建立後需要先NEXTVAL後才能執行CURRVAL
-- 獲取序列的下一個值
SELECT SEQ_NAME.NEXTVAL FROM DUAL; -- SEQUENCE會先執行一次步長,然後返回步長後的值
六、修改序列
-- 1. 檢視當前的序列值
SELECT SEQ_TEST_1.CURRVAL FROM DUAL;
-- 2. 設定一個新的步長
ALTER SEQUENCE SEQ_TEST_1 INCREMENT BY 100;
-- 3. 獲取設定為新步長後的下一個序列值
SELECT SEQ_TEST_1.NEXTVAL FROM DUAL;
-- 4. 修改回舊的步長
ALTER SEQUENCE SEQ_TEST_1 INCREMENT BY 1;
-- 5. 使用舊的步長獲取下一個序列值
SELECT SEQ_TEST_1.NEXTVAL FROM DUAL;
相關文章
- Oracle序列sequenceOracle
- Oracle之Sequence(序列)Oracle
- PostgreSQL 序列(Sequence)SQL
- python sequence序列Python
- 詳解序列(sequence)
- 裁剪序列Cut the Sequence
- ORACLE SEQUENCEOracle
- [題解]P4597 序列 sequence
- Python基礎教程03 - 序列 (sequence)Python
- ORACLE SEQUENCE用法Oracle
- Oracle Sequence NocacheOracle
- Oracle Sequence Audses$研究Oracle
- oracle sequence語法Oracle
- oracle sequence 試用Oracle
- oracle的scn及sequenceOracle
- Oracle中Sequence的使用Oracle
- 「crudapi」零程式碼實現訂單序列號SequenceAPI
- 在MySQL中建立實現自增的序列(Sequence)MySql
- oracle中sequence使用的限制Oracle
- Oracle序列Oracle
- oracle 序列Oracle
- sequence to sequence模型模型
- Oracle -- 批次更新sequence的儲存Oracle
- Oracle -- 批量更新sequence的儲存Oracle
- ORACLE SEQUENCE的簡單介紹Oracle
- Oracle Sequence Cache 引數說明Oracle
- Oracle中sequence cache的測試Oracle
- Oracle中sequence的使用方法Oracle
- 不同於Oracle:SEQUENCE的區別Oracle
- [CareerCup] 17.8 Contiguous Sequence with Largest Sum 連續子序列之和最大
- 詳解數倉物件設計中序列SEQUENCE原理與應用物件
- oracle之序列Oracle
- 吳恩達《序列模型》課程筆記(3)– Sequence models & Attention mechanism吳恩達模型筆記
- 讀論文-序列感知推薦系統(Sequence-Aware Recommender Systems)
- 【小竅門tip】oracle sequence 修改增量值Oracle
- Oracle 基本操作之 建立自增欄位方法-ORACLE SEQUENCEOracle
- Oracle OCP(23):序列Oracle
- oracle 序列 詳解Oracle