1. 程式人生 > >oracle序列的增、刪、改、查及使用

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