oracle中提供了sequence物件,由系統提供自增長的序列號,通常用於生成資料庫資料記錄的自增長主鍵或序號的地方.下面就主要介紹一下關於sequence物件的生成,修改,刪除等常用的操作:
1. 生成
sequence
首先使用者要有create sequence或者create any sequence許可權.然後使用下面命令生成sequence物件:
sequence emp_sequence
--每次加幾個
start
with1--
從1開始計數
nomaxvalue
--不設定最大值
nocycle
--一直累加,不迴圈
cache
10;
[說明]
如果指定cache值,oracle就可以預先在記憶體裡面放置一些sequence,這樣訪問的快些。cache裡面的取完後,oracle自動再取一組到cache。 使用cache或許會跳號, 比如資料庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失. 所以可以在create sequence的時候用nocache防止這種情況。
一旦定義了emp_sequence,你就可以用currval,nextval來使用
sequence:
sequence.currval
--返回 sequence的當前值
sequence.nextval
--增加sequence的值,然後返回 sequence 值
[說明]
第一次nextval返回的是初始值;隨後的nextval會自動增加你定義的increment by值,然後返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,否則會出錯。一次nextval會增加一次 sequence的值,所以如果你在同乙個語句裡面使用多個nextval,其值就是不一樣的。
2.修改 sequence
使用者或者是該sequence的owner,或者有alter any sequence許可權才能改動sequence. 可以alter除start至以外的所有sequence引數.
如果想要改變start值,必須 drop sequence 再 re-create.
命令格式如下:
alter
sequence emp_sequence
increment
by10
maxvalue
10000
cycle
--到10000後從頭開始
nocache ;
3.刪除 sequence
drop
sequence order_seq;
原創 oracle sequence簡介
sequence簡介 2013 12 26 一 概述 sequence是序列號的意思,每次取的時候它會自動增加。sequence與表沒有從屬關係,與表一樣屬於使用者。二 主要內容 1 create sequence語法 首先使用者要有create sequence或者create any seque...
ORACLE SEQUENCE的簡單介紹
在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...
ORACLE SEQUENCE的簡單介紹
在oracle中sequence就是所謂的序列號,每次取的時候它會自動增加,一般用在需要按序列號排序的地方。1 create sequence 你首先要有create sequence或者create any sequence許可權,create sequence emp sequence incr...