最近公司的項目中好多用到了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(如有侵權請聯系刪除)