Oracle 建立序列

2021-08-20 01:34:05 字數 2086 閱讀 1144

概念:所謂序列,在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;

例如:--建立序列

create sequence denggh_seq

start with 1

increment by 1

nomaxvalue

nominvalue

nocycle

nocache;

--建立表

create table denggh_serviceadm

(p_servicecode  varchar2(30) not null

)-- 查詢表

select * from  denggh_serviceadm;

--使用序列

insert into denggh_serviceadm values(denggh_seq.nextval);

--修改序列

alter sequence denggh_seq

increment by 2

nomaxvalue

nominvalue

nocycle

nocache;

--刪除序列

drop sequence  denggh_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的值存放在快取中時可以提高訪問效率。create seque...

Oracle 建立序列

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