oralce序列,序列語法格式及使用方式

2021-07-11 23:54:04 字數 706 閱讀 3166

create sequence 序列名

[increment by n]

[start with n]

;1)increment by用於定義序列的步長,如果省略,則預設為1,如果出現負值,則代表oracle序列的值是按照此步長遞減的。

2)start with 定義序列的初始值(即產生的第乙個值),預設為1。

3)maxvalue 定義序列生成器能產生的最大值。選項nomaxvalue是預設選項,代表沒有最大值定義,這時對於遞增oracle序列,系統能夠產生的最大值是10的27次方;對於遞減序列,最大值是-1。

4)minvalue定義序列生成器能產生的最小值。選項nomaxvalue是預設選項,代表沒有最小值定義,這時對於遞減序列,系統能夠產生的最小值是?10的26次方;對於遞增序列,最小值是1。

5)cycle和nocycle 表示當序列生成器的值達到限制值後是否迴圈。cycle代表迴圈,nocycle代表不迴圈。如果迴圈,則當遞增序列達到最大值時,迴圈到最小值;對於遞減序列達到最小值時,迴圈到最大值。如果不迴圈,達到限制值後,繼續產生新值就會發生錯誤。

6)cache(緩衝)定義存放序列的記憶體塊的大小,預設為20。nocache表示不對序列進行記憶體緩衝。對序列進行記憶體緩衝,可以改善序列的效能。

使用序列名.nextval --獲取值

查詢select 序列名.currval from dual;  

--當前序列的值

Oralce序列機制

今天處理乙個資料,在oracle序列上發現乙個問題,本著發現問題 解決問題 窮根問底的精神,準備把這個問題搞清楚。問題與現象 對序列,按我們的理解每次取seq.nextval,它是自增的,所以後入庫的肯定比先入庫的要大,但我的乙個日誌表中出現了如下現象 logid createtime 173000...

ORALCE 序列建立 與相關屬性

1.序列的建立 create sequence 名稱 start with n 例 create sequence emp seq start with 10 注 start with n 序列開始值為 n 2.currval 與 nextval 屬性 nextval 獲取序列下乙個值 或初始化序列...

建立序列及修改序列

1 建立序列最小值1,最大值2147483647,並 修改 從 500開始 create sequence lxgzzs seq common as integer minvalue 1 maxvalue 2147483647 start with 1 increment by 1 cache 20...