Oracle建立序列

2021-08-14 21:38:53 字數 1526 閱讀 6809

所謂序列,在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

1increment by

1nomaxvalue

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的訪問效率

alter

sequence

name

[increment by n]

note:

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

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

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

drop sequence seq_name;

例如:

drop sequence emp_id_seq;

Oracle建立序列

序列的優點 1 自動的產生唯一的資料 2 產生唯一的值,用於填充主鍵 3 可以在memory中進行快取 建立序列 create sequence increment by n 間隔 start with n 起始位 maxvalue n nomaxvalue 最大值 無限大 minvalue n 最...

Oracle 建立序列

概念 所謂序列,在oracle中就是乙個物件,這個物件用來提供乙個有序的資料列,這個有序的資料列的值都不重複。1.序列可以自動生成唯一值 2.是乙個可以被共享的物件 3.典型的用來生成主鍵值的乙個物件 4.可以替代應用程式 5.當sequence的值存放在快取中時可以提高訪問效率。建立序列語法 cr...

Oracle 建立序列

序列 oracle中就是乙個物件,這個物件用來提供乙個有序的資料列,這個有序的資料列的值都不重複。作用 1.序列可以自動生成唯一值 2.可以被共享的物件 3.用來生成主鍵值的乙個物件 4.可以替代應用程式 5.當sequence的值存放在快取中時可以提高訪問效率。語法 建立序列語法 create s...