Sequence of Oracle

Oracle中的序列號顧名思義就是創建一個序列號,可以在插入或者更新的時候調用,相當於是一個生成器 
創建語法: 
create sequence myse 
increment by 1       --增長度 
start with 1         --從哪裏增加,就是說下一個獲取的值從這個值開始 
nomaxvalue           --不設置最大值   對應的:maxvalue  30、 
order                --指定一定往下增加 
nocycle              --不循環,CYCLE和NOCYCLE 表示當序列生成器的值達到限制值後是否循                                    環 
cache  10           --CACHE(緩衝)定義存放序列的內存塊的大小,默認爲20。NOCACHE表示不對序列進行內存緩衝。對序列進行內存緩衝,可以改善序列的性能 

修改: 
序列的某些部分也可以在使用中進行修改,但不能修改SATRT WITH選項。對序列的修改隻影響隨後產生的序號,已經產生的序號不變。修改序列的語法如下: 
ALTER SEQUENCE emp_sequence 
INCREMENT BY 10 
MAXVALUE 10000 
CYCLE -- 到10000後從頭開始 
NOCACHE ; 


需注意: 
第一次NEXTVAL返回的是初始值;隨後的NEXTVAL會自動增加你定義的INCREMENT BY值,然後返回增加後的值。CURRVAL 總是返回當前SEQUENCE的值,但是在第一次NEXTVAL初始化之後才能使用CURRVAL,否則會出錯。一次NEXTVAL會增加一次SEQUENCE的值,所以如果你在同一個語句裏面使用多個NEXTVAL,其值就是不一樣的。 

刪除: 

DROP SEQUENCE order_seq;

 

 

http://essay.iteye.com/blog/437201

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章