oracle序列的增、刪、改、查及使用



----------------------------------------------------------------------創建序列:
示例:
CREATE SEQUENCE SEQ_SSSS #創建序列名為SEQ_SSSS的序列
INCREMENT BY 1 #增值值為1(負數表示遞減,如-1)
START WITH 1 #初始值為1
NOMAXvalue #不限制最大值
NOCYCLE #不循環
NOCACHE;


語法 CREATE SEQUENCE 序列名 [相關參數]
參數說明
INCREMENT BY :序列變化的步進,負值表示遞減。(默認1)
START WITH:序列的初始值 。(默認1)
MAXvalue:序列可生成的最大值。(默認不限制最大值,NOMAXVALUE)
MINVALUE:序列可生成的最小值。(默認不限制最小值,NOMINVALUE)
CYCLE:用於定義當序列產生的值達到限制值后是否循環(NOCYCLE:不循環,CYCLE:循環)。
CACHE:表示緩存序列的個數,數據庫異常終止可能會導致序列中斷不連續的情況,默認值為20,如果不使用緩存可設置NOCACHE

 

-------------------------------------------------------------------------------------將序列插入表中:
語法:
insert into tb_name(id) values (seq_name.nextval) #seq_name為已創建的序列名稱

示例:
insert into tb_order_info(id) values (SEQ_SSSS.nextval) #seq_name為已創建的序列名稱


-------------------------------------------------------------------------------------------查看當前序列:
語法:
select seq_name.nextval from dual;

示例:
select SEQ_SSSS.nextval from dual; #SEQ_SSSS為已創建的序列名稱

----------------------------------------------------------------------------------------------修改序列:
語法:
alter sequence 序列名稱 increment by 2; #正數表示在當前的序列數上加,和為新的序列數;負數表示在當前的序列數上減,差為新的序列數;

示例:
alter sequence SEQ_SSSS increment by 15; #SEQ_SSSS為已創建的序列名稱,當前序列加15為新的序列數

alter sequence SEQ_SSSS increment by -3; #SEQ_SSSS為已創建的序列名稱,當前序列減3為新的序列數

---------------------------------------------------------------------------------------------------刪除序列:

語法:
drop sequence seq_name

示例:
drop sequence SEQ_SSSS #刪除序列 SEQ_SSSS

 

參考原文:
https://blog.csdn.net/hu_dongyang/article/details/79039737 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM