Oracle序列
一、序列的建立
create sequence [schema.]sequencename
[increment by number]
[start with number]
[maxvalue number | nomaxvalue]
[minvalue number | nominvalue]
[cycle | nocycle]
[cache number | nocache]
[order | noorder]
increment by:遞增數,預設為1。
start with:起始值,預設為1。
maxvalue:最大值,預設無最大值。
minvalue:最小值,預設無最小值。
cycle/nocycle:序列到達最大或最小值後的行為,預設丟擲錯誤,如果為cycle,則會返回起點並重復(注意返回的起點不是start with設定的值,而是從1開始)。
cache/nocache:預設cache為20。
order/noorder:用於叢集環境,讓各個例項協同產生序列。
二、序列的產生
利用偽列產生序列
nextval:針對全域性產生的下一個值,每個會話必須先有nextval,才能有currval。
select s.nextval from dual;
currval:傳送給當前會話的上一個值,並不是序列發出的上一個值,這樣每個會話才能呼叫自己的currval值,因為這是它自己上次發出的。
select s.currval from dual;
如資料庫被重啟,斷電等,快取中的序列會丟失,導致序列出現間隔。
序列是全域性共享的,不同的會話也將導致可能產生序列間隔。
序列產生後不能回滾。
三、序列的查詢
檢視使用者的序列物件資訊
col sequence_name for a20
select * from user_sequences;
SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY CYCLE_FLAG ORDER_FLAG CACHE_SIZE LAST_NUMBER
-------------------- ---------- ---------- ------------ ---------- ---------- ---------- -----------
S 1 1E28 1 N N 20 21
last_number就是下一個要建立的值,不包括快取中已建立的序列。
四、序列的修改
使用alter sequence命令修改序列
alter sequence s increment by 20;
不能修改起點start with,修改不影響已經存在的序列,隻影響後續序列。
預設為20的cache數量可能不夠而影響效能,可以考慮增大
alter sequence s cache 100;
五、序列的刪除
使用drop sequence命令刪除序列
drop sequence s;
如果序列號要重置起點,只能刪除重建。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2141892/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 序列Oracle
- Oracle - Sequence序列Oracle
- Oracle序列sequenceOracle
- oracle之序列Oracle
- Oracle OCP(23):序列Oracle
- Oracle之Sequence(序列)Oracle
- oracle 序列 詳解Oracle
- oracle 序列詳解Oracle
- 0705_oracle 序列Oracle
- Oracle 建立序列語句Oracle
- Oracle建立和使用序列Oracle
- oracle 序列的建立與使用Oracle
- Oracle RAC序列效能測試Oracle
- oracle 修改序列起始值Oracle
- oracle下批量增加序列值Oracle
- Oracle序列使用:建立、刪除Oracle
- oracle主鍵序列的建立,刪除,修改序列起始值Oracle
- Oracle資料庫開發——序列Oracle資料庫
- 解決Oracle序列跳號問題Oracle
- Oracle 產生序列的 6 種方法Oracle
- Oracle重置序列(不刪除重建方式)Oracle
- oracle開發中序列的使用(轉)Oracle
- 簡單介紹oracle重置序列的方法Oracle
- oracle序列達到了最大值處理Oracle
- Oracle並行操作——從序列到並行Oracle並行
- 通用mapper用oracle序列作為主鍵APPOracle
- oracle資料庫建立Squence序列並查詢Oracle資料庫
- oracle為資料庫每張表建立序列Oracle資料庫
- oracle 序列值導致的主鍵衝突問題Oracle
- 【時間序列分析】01. 時間序列·平穩序列
- Oracle實現自增列(序列+觸發器實現、Identity Columns新特性、序列作為預設值)Oracle觸發器IDE
- 物件序列化(序列化)物件
- Java序列化、反序列化、反序列化漏洞Java
- Oracle基礎 12 物件 objects 同義詞/序列/試圖/索引Oracle物件Object索引
- 為Oracle資料庫表建立自動增長序列及Oracle的常見操作Oracle資料庫
- 序列化與反序列化
- 序列 DP
- Prufer序列