Oracle Sequence建立與使用

2022-06-28 13:48:07 字數 1805 閱讀 4955

sequence是資料庫系統按照一定的規則自動增加的數字序列,主要用於生成資料庫資料記錄。這個序列一般作為**主鍵(因為不會重複)。

sequence是資料中乙個特殊存放等差數列的表,該錶受資料庫系統控制,任何時候資料庫系統都可以根據當前記錄數大小加上步長來獲取到該錶下一條記錄應該是多少,這個表沒有實際意義,常常用來做主鍵用。

sequence是資料庫系統的特性,有的資料庫有sequence,有的沒有。比如oracle、db2、postgresql資料庫有sequence,mysql、sql server、sybase等資料庫則沒有sequence。

此處,主要討論下oracle sequence的建立與使用,其他的大同小異。

create sequence之前要獲取create sequence或者create any sequence許可權。

1

--create sequence

2create sequence seq_product_standard_chg --

sequence例項名

3 minvalue 1

--最小值,可以設定為0

4 maxvalue 2147483647

--最大值

5 start with1--

從1開始計數

6 increment by1--

每次加幾個

7 cache 20; --

設定快取cache個序列,如果系統down掉了或者其它情況將會導致序列不連續,也可以設定為---------nocache

或者可以如下建立均是可以的

1

create

sequence seq_product_standard_chg

2 start with1--

從1開始計數

3 nomaxvalue     --

不設定最大值

4 increment by1--

每次加幾個

5 nocycle      --

一直累加,不迴圈

6 cache 10;      --

設定快取cache個序列,如果系統down掉了或者其它情況將會導致序列不連續,也可以設定為---------nocache

建立好sequence後就可以通過currval與nextval進行使用。

nextval:  增加sequence的值,然後返回 增加後sequence值

如得到上邊建立sequence值的語句為(其中kingstar為使用者,該使用者下其實可以省略):

1select

kingstar.seq_product_standard_chg.currval

2from dual

alter sequence kingstar.seq_product_standard_chg  maxvalue 9999999;

1

alter

sequence kingstar.seq_product_standard_chg

2 increment by

103 maxvalue 10000

4cycle — 到10000後從頭開始

5 nocache ;

1drop sequence kingstar.seq_product_standard_chg;

原創 oracle sequence簡介

sequence簡介 2013 12 26 一 概述 sequence是序列號的意思,每次取的時候它會自動增加。sequence與表沒有從屬關係,與表一樣屬於使用者。二 主要內容 1 create sequence語法 首先使用者要有create sequence或者create any seque...

Oracle Sequence簡單介紹

oracle中提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面就主要介紹一下關於sequence物件的生成,修改,刪除等常用的操作 1.生成 sequence 首先使用者要有create sequence或者create any sequ...

ORACLE SEQUENCE的簡單介紹

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