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...