oracle資料庫中序列使用講解

2022-08-24 13:18:11 字數 1146 閱讀 2562

oracle資料庫中序列使用講解

定義:

序列(sequence)是序列號生成器,可以為表中的行自動生成序列號,產生一組等間隔的數值(型別為數字)。

其主要的用途是生成表的主鍵值,可以在插入語句中使用,也可以通過查詢檢查當前值,或使序列增至下乙個值。

建立序列需要使用create sequence系統許可權,序列的建立方法:

create sequence 序列名

[increment by n]

[start with n]

;釋義:

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

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

maxvalue:定義序列的最大值。minvalue:定義序列的最小值。nomaxvalue:表示預設選項,沒有最大值定義。

cycle/nocycle:表示當序列生成器的值達到限制值後是否迴圈,cycle表示迴圈,nocycle表示不迴圈。

cache/nocache:定義存放序列的記憶體塊兒的大小,預設為20。nocache:表示不對序列進行記憶體緩衝。對序列進行內

存緩衝可以改善快取的效能。

刪除序列的語法:

drop sequence 序列名;

序列的使用:

currval和nextval來引用序列:

呼叫mextval將生成序列中的下乙個序列號,呼叫時指出序列名,即用以下方法:

序列名.nextval;

currval用於產生序列的當前值,無論呼叫多少次都不會產生序列的下乙個值,如果序列還沒有通過呼叫nextval產生

過序列的下乙個值,先引用currval將沒有意義。

呼叫currval的方法如下:

序列名.currval;

第一次呼叫nextval會產生序列的初始值。

將序列作為表的主鍵的方法:

在向表中插入資料時呼叫nextval方法

insert into 表名 values (序列名.nextval,值1,值2,...);

oracle序列使用詳解

建立序列 create sequence seq test 查詢序列的下乙個值 select seq test.nextval from dual 查詢當前值 select seq test.currval from dual 查詢當前序列上乙個值 select seq test.有最大值的非迴圈序...

mysql資料庫序列作用 MySQL 序列使用

mysql 序列是一組整數 1,2,3,由於一張資料表只能有乙個欄位自增主鍵,如果你想實現其他欄位也實現自動增加,就可以使用mysql序列來實現。本章我們將介紹如何使用mysql的序列。使用 auto increment mysql 中最簡單使用序列的方法就是使用 mysql auto increm...

Oracle序列使用 建立 刪除

在開始講解oracle序列使用方法之前,先加一點關於oracle client sqlplus的使用,就是如果執行多行語句的話一定要加 才能表示結束,並執行!本篇文章的主題是通過建立oracle序列和觸發器實現表的主鍵自增。1.首先建立序列,oracle序列的語法格式為 create sequenc...