首頁 > 資料庫 > mysql教程 > 什麼是oracle序列

什麼是oracle序列

WBOY
發布: 2022-05-24 18:36:57
原創
5082 人瀏覽過

在oracle中,序列是用來產生一系列唯一數字的資料庫物件;序列也就是序號產生器,可以為表中的行自動產生序號,主要的用途是產生主鍵的值,定義序列的使用者必須具有CREATE SEQUENCE權限。

什麼是oracle序列

本教學操作環境:Windows10系統、Oracle 11g版、Dell G3電腦。

什麼是oracle序列

序列: Sequence 是oracle提供的用於產生一系列唯一數字的資料庫物件。由於oracle中沒有設定自增列的方法,所以我們在oracle資料庫中主要用序列來實現主鍵自增的功能。

在Oracle資料庫中,序列(sequence)其實就是一個序號產生器,它可以為表中的行自動產生序號,主要的用途是產生表的主鍵值。相當於SQL Server和MySQL中的自增欄位。

在SQL Server中可以在定義主鍵時使用identity關鍵字定義,在MySQL中可以在定義主鍵時使用increment關鍵字定義。在Oracle資料庫中要想使用自增字段,必須先定義一個序列(sequence)對象,然後在插入資料時使用【序列對象名.nextval】在主鍵中插入自增資料。

要定義序列,定義序列的使用者必須具有CREATE SEQUENCE權限。在Oracle資料庫中,定義序列的語法如下:

CREATE SEQUENCE 序列名 
[START WITH n] 
[INCREMENT BY n]
[MAXVALUE n|NOMAXVALUE]
[MINVALUE n|NOMINVALUE]
[CACHE n|NOCACHE]
[CYCLE|NOCYCLE]
登入後複製

參數說明:

(1)INCREMENT BY:定義序列的步長,n如果為正值,表示序列為遞增序列;n如果為負值,表示序列為遞減序列;如果省略,則預設值為1。

(2)START WITH:定義序列的起始值,如果省略,則預設值為1。

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

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

(5)CYCLE|NOCYCLE:表示當序列產生器的值達到限制值後是否會循環。 CYCLE代表循環,NOCYCLE代表不循環。

(6)CACHE:定義存放序列的記憶體區塊的大小,預設為20。 NOCACHE表示不對序列進行記憶體緩衝。

範例如下:

什麼是oracle序列

擴充知識:

##修改序列

格式:

ALTER SEQUENCE name [INCREMENT BY n]
    [MINVALUE n | NO MINVALUE] 
    [MAXVALUE n | NO MAXVALUE ]
    [MINVALUE n | NO MINVALUE ]
    [CACHE n ] 
    [CYCLE | NO CYCLE]
登入後複製
範例如下:

什麼是oracle序列

#推薦教學:《

Oracle影片教學

#

以上是什麼是oracle序列的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板