資料庫物件(序列)

2021-10-21 18:18:00 字數 1275 閱讀 9701

定義:

序列是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 組成的。列由同類的資訊組成,每列又稱為乙個字段,每列的標題稱為欄位名。行包括了若干列資訊項。一行資料稱為乙個或一條記錄,它表達有一定意義的資訊組合。乙個資料庫表由一條或多條記錄組成,沒有記錄的表稱為空表。每個表中...