Oracle序列的(Sequence)使用

2021-05-04 03:42:18 字數 1580 閱讀 1981

序列是一資料庫物件,利用它可生成唯一的整數。一般使用序列自動地生成主鍵值。對我們程式設計師來講,精力時間有限,我們只學最有用的知識。大家請看:

create sequence [user.]sequence_name

[increment by n]

[start with n]

[maxvalue n | nomaxvalue]

[minvalue n | nominvalue];

[nocycle]

--increment by

指定序列號之間的間隔,該值可為正的或負的整數,但不可為

0。序列為公升序。忽略該子句時,預設值為1。

start with:指定生成的第乙個序列號。在公升序時,序列可從比最小值大的值開始,預設值為序列的最小值。對於降序,序列可由比最大值小的值開始,預設值為序列的最大值。

maxvalue:指定序列可生成的最大值。

nomaxvalue:為公升序指定最大值為

1027

,為降序指定最大值為-1。

minvalue:指定序列的最小值。

nominvalue:為公升序指定最小值為

1。為降序指定最小值為

-1026

nocycle

一直累加,不迴圈

altersequence [user.]sequence_name

[increment by n]

[maxvalue n| nomaxvalue ]

[minvalue n | nominvalue]

;修改序列可以:

修改未來序列值的增量。

設定或撤消最小值或最大值。

改變緩衝序列的數目。

指定序列號是否是有序。

注意:1

,第一次

nextval

返回的是初始值

2,可以

alter

除start

至以外的所有

sequence引數.

如果想要改變

start

值,必須

drop sequence

再re-create .

drop sequence [user.]sequence_name;用於

從資料庫中刪除一串行。

4.1)建立乙個序列號的語句:

-- create sequence

create sequence ncme_question_seq

minvalue 1

maxvalue 999999999999

start with 1

increment by 1

nocache;

4.2)sql

中取序列號的用法:

select ncme_question_seq.nextval from dual

select ncme_question_seq.currval from dual

Oracle自動增長序列介紹 sequence

在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...

oracle 順序號生成函式。仿Sequence

問題提出自專案中的老 乙個bill表,儲存所有的表單資訊,比如 員工入職單,離職單等等。別噴,我知道要分多個表。但領導的意願你是沒辦法違背的 表單的單據號是以四個字母 年月日 數字順序號來表示。每次取新單據號時要從bill表裡 按生成規則 查詢出最大的那個單據號,再拆分出來,再給順序號加 組合好後再...

在ORACLE中建立自增字段,sequence

通過建立序列來實現 oracle sequence的簡單介紹 在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,cr...