定義:
序列是oracle提供的一組能夠自動增長的序號。常常用來生成每條資料的唯一標識。
許可權要求:create sequence
建立語法:
create sequence 序列名稱 seq_name
start with n --初始序號 遞增:預設minvalue 遞減:預設maxvalue
increment by n --增長幅度 n為正 遞增 n為負 遞減
minvalue n | nominvalue --最小值 n | 無最小值
maxvalue n | nomaxvalue --最大值 n | 無最大值
cache n | nocache --快取 n個序號 | 無快取 預設快取20個序號 --盡量設定大一點的值
cycle | nocycle ;–迴圈 達到極值時是否從新迴圈生成序號
create sequence seq_a
start with 1
increment by 1
minvalue 1
maxvalue 20
cache 10
nocycle;
當前值:currval
下乙個值:nextval
注意:1)第一次使用currval必須先使用一次nextval
1)第一次使用nextval得到的是序列中的起始值
select seq_a.currval from dual;
select seq_a.nextval from dual;
修改語法:
alter sequence seq_name cycle; --修改迴圈
alter sequence seq_ name increment by 3; --修改漲幅
注意:無法直接調整初始值,只能刪除後重建,或先設定乙個新的漲幅,通過nextval執行到目標序號後再調回舊的漲幅。
刪除語法:
drop sequence seq_ name;
1.cache值小於等於cycle值(指一次迴圈能夠生成的序號個數)–floor((maxvalue-minvalue)/increment)+1
2.未設定起始值時,預設遞增序列從最小值開始,遞減序列從最大值開始
3.漲幅必須是非零整數
4.若要指定起始值,起始值必須在最小值與最大值之間
5.若未指定最大值和最小值 遞增時:最小值是1 最大值是10^27 遞減時:最小值是-10^27 最大值是 -1
6.incremnet必須小於最大值與最小值的差
7.快取值盡量設定大一些
資料庫物件 序列 學習筆記
1.建立sequence create sequence sequence name start with n1 increment by n2 order n1 n5都是整數 cache 用於指定在快取記憶體中可以預分配得序列號個數n5 cycle 用於指定在達到序列得最大值或者最小值之後是否迴圈...
Oracle常見資料庫物件 序列
oracle常見資料庫物件 序列 一 序列 是oacle提供的用於產生一系列唯一數字的資料庫物件。a 序列的特點 i.自動提供唯一的數值 ii.共享物件 iii.主要用於提供主鍵值 iv.將序列值裝入記憶體可以提高訪問效率 b 序列的定義 create sequence sequence incre...
資料庫物件
1表 資料庫中的表與我們日常生活中使用的 類似,它也是由行 row 和列 column 組成的。列由同類的資訊組成,每列又稱為乙個字段,每列的標題稱為欄位名。行包括了若干列資訊項。一行資料稱為乙個或一條記錄,它表達有一定意義的資訊組合。乙個資料庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中...