Oracle sequence排序的使用


最近公司的項目中好多用到了Seq排序的,所以網上找些記錄一下吧.

通過以下直接查詢出所有的seq列表:

select * from user_sequences;

 

查詢結果如下:

查詢結果和創建的基本差不多吧,創建seq的語句(可以直接創建,以下為默認創建的參數):

比較重點的就是最小值,最大值,起始值,每次增加值

-- Create sequence
create sequence SEQ_T
minvalue  1
maxvalue  999999999999999999999999999
start  with  1
increment  by  1
cache  20;

詳細解釋一下:

INCREMENT BY:指定序列增長步長。可以為正(升序)、負整數(降序),但不能為0。最高精度28。
START WITH: 指定序列起始數。默認為序列最小值。
MAXVALUE :指定序列最大值。最大28位。必須大於等於起始值且大於等於序列最小值。
NOMAXVALUE:  無最大值(實際為10^27或-1)。default
MINVALUE :指定序列最小值。
NOMINVALUE  :無最小值(實際為1或-10^26)。Default
CYCLE  :指定序列達到最大值或最小值后繼續從頭開始生成。
NOCYCLE :不循環生成。Default.
CACHE :指定數據庫內存中預分配的序列值個數,以便快速獲取。最小cache值為2。
Cache參數最大值為:(CEIL (MAXVALUE - MINVALUE)) / ABS (INCREMENT)
NOCACHE  :不指定緩存數,默認緩存20
ORDER :指定order條件保證序列按請求順序生成。此條件適用於RAC環境。
NOORDER :不保證序列按請求順序生成。

使用方法就比較簡單了:

select SEQ_USERROLE.NEXTVAL from dual

可以直接獲取到下一個增長id的值.

 

部分內容源自Google.com.hk搜索

部分內容摘自http://blog.csdn.net/indexman/article/details/37653911(如有侵權請聯系刪除)


免責聲明!

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



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