Oracle 序列的建立 使用 修改 刪除

2021-08-08 06:37:12 字數 1495 閱讀 5369

oracle序列

概念:所謂序列,在oracle中就是乙個物件,這個物件用來提供乙個有序的資料列,這個有序的資料列的值都不重複。

1.序列可以自動生成唯一值

2.是乙個可以被共享的物件

3.典型的用來生成主鍵值的乙個物件

4.可以替代應用程式**

5.當sequence的值存放在快取中時可以提高訪問效率。

建立序列語法:

create sequence name

[increment by n]

[start with n]

note:

1.increment by n:表明值每次增長n(步長)

2.start with n: 從n開始

3.: 設定最大值

4.: 設定最小值,start with不能小於最小值。

5.cycle | nocycle : 是否迴圈,建議不使用

6.cache n | nocache : 是否啟用快取。

例如:create sequence emp_id_seq

start with 1

increment by 1

nomaxvalue

nominvalue

nocycle

nocache;

note:可以通過資料字典user_sequences檢視當前使用者所擁有的序列資訊。

例如:select sequence_name,min_value,max_value,last_number

from user_sequences

where sequence_name = 'emp_id_seq';

序列的屬性(偽列):

1.nextval : 返回下乙個可用的序列值。

就算是被不同的使用者呼叫,每次也返回乙個唯一的值。

2.currval :獲取序列當前的值。

在currval呼叫之前,必須保證nextval已經獲取過一次值。

使用sequence:

例如:1.向表中插入資料

insert into emp values(emp_id_seq.nextval);

2.檢視序列的當前值

select emp_id_seq.currval from dual;

3.獲取序列的下乙個值。

select emp_id_seq.nextval from dual;

快取:使用快取可以提高sequence的訪問效率

修改sequence:

alter sequence name

[increment by n]

note:

1.必須是序列的擁有者,或者具有alter許可權

2.修改後的序列,只對之後的值起作用。

3.不能修改start with,如果想改,只能刪除,重新建立,啟動。

刪除sequence:

drop sequence seq_name;

例如:drop sequence emp_id_seq;

Oracle 序列詳解 建立 修改 刪除和使用

序列 sequence 是一種資料庫物件,可以為表中的行自動生成序列號,利用它可生成唯一的整數,產生一組等間隔的數值 型別為數字number 主要用於生成唯 一 連續的序號。序列是一種共享式的物件,多個使用者可以共同使用序列中的序號。一般序列所生成的整數通常可以用來填充數字型別的主鍵列,這樣當向表中...

oracle 序列的建立與使用

學習了序列,一直沒怎麼有機會用過,做了個簡單的使用練習。在oracle中,可以使用序列自動生成乙個整數序列,主要用來自動為表中的資料型別的主鍵列提供有序的唯一值,這樣就可以避免在向表中新增資料時,手工指定主鍵值。而且使用手工指定主鍵值這種方式時,由於主鍵值不允許重複,因此它要求操作人員在指定主鍵值時...

Oracle 修改序列

1.直接刪除序列,然後重新建立並且設定序列的初始值為希望的資料 drop sequence seq stockflow id create sequence seq stockflow id increment by 1 start with 1000 你想要的值 maxvalue 99999999...