sequence簡介
2013-12-26
一、概述
sequence是序列號的意思,每次取的時候它會自動增加。sequence與表沒有從屬關係,與表一樣屬於使用者。
二、主要內容
1、create sequence語法
--首先使用者要有create sequence或者create any sequence的許可權。
create sequence seqname [ increment increment ]
[ minvalue minvalue ] [ maxvalue maxvalue ]
[ start start ] [ cache cache ] [ cycle ][order]
seqname:
序列名increment:
遞增數,例如increment by 1就是遞增1;increment by -1就是遞減1。
minvalue:
序列最小值
maxvalue:
序列最大值,最大為27個9.
start:
序列從哪個值開始,例如start with 200就是從200開始。
cache:
快取序列個數,先取一部分序列值存入快取,可以提高效能。缺點是發生系統故障後可能導致
序列號不連續。可以設定為nocache保證不會發生序列跳動。預設值是20。
cycle:
迴圈,到達最大值後,從最小值重新開始生成序列號。可以設定為nocycle表示累加不迴圈。
order:
保證按順序申請。預設是noorder。order 和 noorder 的區別表現在 並行服務 和獨佔服務之間 打個比方:雙cpu對同乙個oracle db 中的 abc sequence申請序號時, 這時就有兩個請求a和b,假設a請求在前b在後, 現在abc序列中的值為9. 如果新增了order選項,那麼一定是a請求到9, b請求到10.但如果沒有新增此選項,則有可能b請求到9, a請求到10.order一般用於時間戳型別,對於主鍵則用處不大。
例子: create sequence seq
minvalue 1
--最小值
increment by 1
--遞增1
start with 1
--從1開始
nomaxvalue
--無最大值
nocycle
--不迴圈
cache 100;
--快取100個序列號
2、使用sequence
定義好sequence後,你就可以用currval,nextval取得值。
currval:返回 sequence的當前值
nextval:返回sequence的下乙個值
select seq.currval from dual
select seq.nextval from dual
3.在sql語句中可以使用sequence的地方:
(1)不包含子查詢、snapshot、view的 select 語句
(2)insert語句的子查詢中
(3)insert語句的values中
(4)update 的 set中
例如:insert into student(id,name) values(seq.nextval,'jack');
注意: 第一次nextval返回的是初始值,隨後的nextval會返回增加後的值。currval 總是返回當前sequence的值,但是在第一次nextval初始化之後才能使用currval,否則報如下錯誤:
ora-08002 序列currval尚未在會話中定義。
使用一次nextval會增加一次 sequence的值,所以如果你多次執行包含nextval的一條語句,其值就是不一樣的。
3、修改sequence引數
擁有alter any sequence 許可權才能改動sequence. 可以alter除start至以外的所有sequence引數.如果想要改變start值,必須 drop sequence再create。
例:alter sequence seq maxvalue 9999999;
alter sequence seq cache 10;
4、drop sequence
drop sequence seq;
談談那些偽原創的事 崇尚原創拒絕偽原創
內容為王,這句話相比每乙個站長都知道,但是很多人知道,卻做不到,我看到最多 的是偽原創,有的站長甚至直接用軟體採集,這就是典型的明知山有虎偏向虎山行,最終給你乙個重重的懲罰,才會長記性。第一種就是僥倖心理,在他們心理,想著不會那麼巧,抓住自己,然而事實上,蜘蛛幾乎每一秒都在監視著你的 很多時候,我們...
偽原創工具?什麼是偽原創工具!
小發貓ai寫作官網 聯絡qq3408641新增理由 偽原創工具。昨天下午三點鐘左右,一樓售後來 說,usb評價器不能使用了 我趕緊去售後檢視 出現問題。我問售後展廳經理,正常使用前,你做過什麼操作 展廳經理一臉茫然的說,我就做 檢,好長時間沒有體檢了 我檢視下這台伺服器的資料庫設定,發現展廳經理使用...
Web列印(原創)
我檢視了一下,每種應用程式的頁面設定可能不一樣的。記事本的和ie的頁面設定介面風格都不一樣。看起來ie頁面設定可以由以下內容組成 1,紙張規格 2,紙張 3,頁首,頁尾 4,布局方式 橫向 縱向 5,頁邊距 左,右,上,下 6,印表機 其餘的就沒有了吧 以上內容有ie的設定,也有印表機的設定。1,2...