久久精品水蜜桃av综合天堂,久久精品丝袜高跟鞋,精品国产肉丝袜久久,国产一区二区三区色噜噜,黑人video粗暴亚裔
站長百科 | 數(shù)字化技能提升教程 數(shù)字化時代生存寶典
首頁
數(shù)字化百科
電子書
建站程序
開發(fā)
服務(wù)器
辦公軟件
開發(fā)教程
服務(wù)器教程
軟件使用教程
運營教程
熱門電子書
WordPress教程
寶塔面板教程
CSS教程
Shopify教程
導航
程序頻道
推廣頻道
網(wǎng)賺頻道
人物頻道
網(wǎng)站程序
網(wǎng)頁制作
云計算
服務(wù)器
CMS
論壇
網(wǎng)店
虛擬主機
cPanel
網(wǎng)址導航
WIKI使用導航
WIKI首頁
最新資訊
網(wǎng)站程序
站長人物
頁面分類
使用幫助
編輯測試
創(chuàng)建條目
網(wǎng)站地圖
站長百科導航
站長百科
主機偵探
IDCtalk云說
跨境電商導航
WordPress啦
站長專題
網(wǎng)站推廣
網(wǎng)站程序
網(wǎng)站賺錢
虛擬主機
cPanel
網(wǎng)址導航專題
云計算
微博營銷
虛擬主機管理系統(tǒng)
開放平臺
WIKI程序與應(yīng)用
美國十大主機
編輯“
Sequence
”
人物百科
|
營銷百科
|
網(wǎng)賺百科
|
站長工具
|
網(wǎng)站程序
|
域名主機
|
互聯(lián)網(wǎng)公司
|
分類索引
跳轉(zhuǎn)至:
導航
、?
搜索
警告:
您沒有登錄。如果您做出任意編輯,您的IP地址將會公開可見。如果您
登錄
或
創(chuàng)建
一個賬戶,您的編輯將歸屬于您的用戶名,且將享受其他好處。
反垃圾檢查。
不要
加入這個!
'''Sequence''' ,是[[數(shù)據(jù)庫]]系統(tǒng)按照一定規(guī)則自動增加的數(shù)字序列。這個序列一般作為代理[[主鍵]](因為不會重復),沒有其他任何意義。Sequence是數(shù)據(jù)庫系統(tǒng)的特性,有的數(shù)據(jù)庫有Sequence,有的沒有。比如[[Oracle]]、[[DB2]]、[[PostgreSQL]]數(shù)據(jù)庫有Sequence,[[MySQL]]、[[SQL Server]]、[[Sybase]]等數(shù)據(jù)庫沒有Sequence。Sequence是數(shù)據(jù)庫中一個特殊存放等差數(shù)列的表,該表受數(shù)據(jù)庫系統(tǒng)控制,任何時候數(shù)據(jù)庫系統(tǒng)都可以根據(jù)當前記錄數(shù)大小加上步長來獲取到該表下一條記錄應(yīng)該是多少,這個表沒有實際意義,常常用來做主鍵用,不過各個數(shù)據(jù)庫廠商各有各的一套對Sequence的定義和操作。 == 如何使用Sequence== *定義Sequence 定義一個seq_test,最小值為10000,最大值為99999999999999999,從20000開始,增量的步長為1,[[緩存]]為20的循環(huán)排序Sequence。 1、Oracle的定義方法: <pre> create sequence seq_test minvalue 10000 maxvalue 99999999999999999 start with 20000 increment by 1 cache 20 cycle order; </pre> 2、DB2的寫法: <pre> create sequence seq_test as bigint start with 20000 increment by 1 minvalue 10000 maxvalue 99999999999999999 cycle cache 20 order; </pre> 3、PostgreSQL的寫法: <pre> create sequence seq_test increment by 1 minvalue 10000 maxvalue 99999999999999999 start 20000 cache 20 cycle; </pre> *Oracle、DB2、PostgreSQL數(shù)據(jù)庫Sequence值的引用參數(shù)為:currval、nextval,分別表示當前值和下一個值。下面分別從三個數(shù)據(jù)庫的Sequence中獲取nextval的值。 1、Oracle中:seq_test.nextval 例如: select seq_test.nextval from dual; 2、DB2中:nextval for SEQ_TOPICMS 例如: values nextval for seq_test; 3、PostgreSQL中:nextval(seq_test) 例如: select nextval('seq_test'); *Sequence與indentity的區(qū)別與聯(lián)系 1、Sequence與indentity的基本作用都差不多。都可以生成自增數(shù)字序列。 2、Sequence是數(shù)據(jù)庫系統(tǒng)中的一個[[對象]],可以在整個數(shù)據(jù)庫中使用,和表沒有任何關(guān)系;indentity僅僅是指定在表中某一列上,作用范圍就是這個表。 *postgresql中的Sequence分配策略(postgresql8.3.x) 1、調(diào)用select nextval(seq_test);后,系統(tǒng)馬上分配一個序號給用戶,然后系統(tǒng)的次Sequence馬上加上之前設(shè)置的步長(increment by 1),不論此序號用戶是否使用。 2、調(diào)用select currval(seq_test);返回當前的序列號,該序列號只要沒有使用,就不會變化,直到被使用后,才會變化,并且該序列號已經(jīng)分配給當前請求,不會再分配給其他的請求。 3、所以,減少浪費時,使用currval,不在乎浪費,而且[[id]]不連續(xù)的話,可以使用nextval。因為一旦分配給你后,使用失敗,將會把該序列號丟棄! ==oracle sequence== ;1、Create Sequence *首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE權(quán)限, <pre> CREATE SEQUENCE emp_sequence INCREMENT BY 1 -- 每次加幾個 START WITH 1 -- 從1開始計數(shù) NOMAXVALUE -- 不設(shè)置最大值 NOCYCLE -- 一直累加,不循環(huán) CACHE 10; </pre> *一旦定義了emp_sequence,就可以用CURRVAL,NEXTVAL , CURRVAL=返回 sequence的當前值, NEXTVAL=增加sequence的值,然后返回 sequence 值 比如: emp_sequence.CURRVAL emp_sequence.NEXTVAL *可以使用sequence的地方: #不包含子查詢、snapshot、VIEW的 SELECT 語句 # INSERT語句的子查詢中 # NSERT語句的VALUES中 # UPDATE 的 SET中 可以看如下例子: <pre> INSERT INTO emp VALUES (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20); SELECT empseq.currval FROM DUAL; </pre> *需要注意的是: #第一次NEXTVAL返回的是初始值;隨后的[[NEXTVAL]]會自動增加你定義的INCREMENT BY值,然后返回增加后的值。CURRVAL 總是返回當前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否則會出錯。 #一次NEXTVAL會增加一次SEQUENCE的值。但是如果你在同一個條[[SQL]]語句里面針對同一個sequence使用多次NEXTVAL,其值都是一樣的。 #如果指定[[CACHE]]值,ORACLE就可以預先在內(nèi)存里面放置一些sequence,這樣存取的快些。cache里面的取完后,oracle自動再取一組到cache。 使用cache或許會跳號, 比如數(shù)據(jù)庫突然發(fā)生故障(shutdown abort),cache中的sequence就會丟失. 所以可以在create sequence的時候用nocache防止這種情況。 ;2、Alter Sequence *有ALTER ANY SEQUENCE 權(quán)限才能改動sequence. 可以alter除start至以外的所有sequence參數(shù).如果想要改變start值,必須 drop sequence 再 re-create . *Alter sequence 的例子 <pre> ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE -- 到10000后從頭開始 NOCACHE ; </pre> *影響Sequence的初始化參數(shù): #SEQUENCE_CACHE_ENTRIES =設(shè)置能同時被cache的sequence數(shù)目。 #可以很簡單的Drop Sequence #DROP SEQUENCE order_seq; ==相關(guān)條目== *[[oracle]] *[[UML]] *[[database]] *[[數(shù)據(jù)庫]] *[[SQL]] ==參考來源== *http://baike.soso.com/v7887142.htm?sp=SSTSequence *http://baike.baidu.com/view/1209094.htm [[category:數(shù)據(jù)庫|S]]
摘要:
請注意,您對站長百科的所有貢獻都可能被其他貢獻者編輯,修改或刪除。如果您不希望您的文字被任意修改和再散布,請不要提交。
您同時也要向我們保證您所提交的內(nèi)容是您自己所作,或得自一個不受版權(quán)保護或相似自由的來源(參閱
Wordpress-mediawiki:版權(quán)
的細節(jié))。
未經(jīng)許可,請勿提交受版權(quán)保護的作品!
取消
編輯幫助
(在新窗口中打開)
取自“
http://www.kktzf.com.cn/wiki/Sequence
”