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;
相關文章
- PostgreSQL 序列(Sequence)SQL
- python sequence序列Python
- 裁剪序列Cut the Sequence
- ORACLE SEQUENCE用法Oracle
- [題解]P4597 序列 sequence
- oracle的scn及sequenceOracle
- [20220321]探究oracle sequence.txtOracle
- 不同於Oracle:SEQUENCE的區別Oracle
- [20220322]探究oracle sequence 2.txtOracle
- 「crudapi」零程式碼實現訂單序列號SequenceAPI
- Oracle中Nextval用法SEQUENCE與SYS_GUID()OracleGUI
- Oracle OCP(23):序列Oracle
- 0705_oracle 序列Oracle
- sequence to sequence模型模型
- [20190530]ORACLE 18c - ALTER SEQUENCE RESTART.txtOracleREST
- 在Hibernate中關於Oracle sequence的使用KHOracle
- bzoj1345: [Baltic2007]序列問題Sequence(單調棧)
- Oracle 建立序列語句Oracle
- 吳恩達《序列模型》課程筆記(3)– Sequence models & Attention mechanism吳恩達模型筆記
- 讀論文-序列感知推薦系統(Sequence-Aware Recommender Systems)
- 詳解數倉物件設計中序列SEQUENCE原理與應用物件
- Oracle RAC序列效能測試Oracle
- oracle 序列的建立與使用Oracle
- 自增長列和序列的區別(identity與sequence的區別)IDE
- oracle主鍵序列的建立,刪除,修改序列起始值Oracle
- Complete the Sequence (生成完整序列數)第一次做英文c++的題C++
- Sequence recognition
- 解決Oracle序列跳號問題Oracle
- uvm的sequence
- Rainbow Bracket SequenceAIRacket
- Increasing Sequence with Fixed OR
- PostgreSQL sequence (一)SQL
- 通用mapper用oracle序列作為主鍵APPOracle
- 簡單介紹oracle重置序列的方法Oracle
- 《每日一題》842. Split Array into Fibonacci Sequence 將陣列拆分成斐波那契序列每日一題陣列
- 論文閱讀:Sequence to sequence learning for joint extraction of entities and relations
- FSM:Sequence 1101 recognizer
- F - Two Sequence Queries
- DeepLearning – Overview of Sequence modelView