小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

informix中的序列sequence

 昵稱15242507 2015-03-11
    informix自10開(kāi)始可以產(chǎn)生序列(sequence)。序列(sequence)有時(shí)候也被叫做序列產(chǎn)生器(sequence generator)或序列對(duì)象(sequence object)。它產(chǎn)生一個(gè)單調(diào)增或單調(diào)減的整數(shù)序列。
創(chuàng)建序列:
    CREATE SEQUENCE seq_2
    INCREMENT BY 1 
    START WITH 1
    MAXVALUE 30 
    MINVALUE 0
    NOCYCLE 
    CACHE 10 
    ORDER;
   上面示例中創(chuàng)建了一個(gè)名為seq_2的序列,該序列產(chǎn)生從1到30的單調(diào)遞增1的整數(shù),如果大小超過(guò)30則報(bào)8313(超過(guò)最大值)錯(cuò)誤。這里的NOCYCLE選項(xiàng)表示如果產(chǎn)生的整數(shù)大于最大值后則停止生成整數(shù),若設(shè)為CYCLE則將從開(kāi)始值重新開(kāi)始生成數(shù)據(jù)。
改變序列:
ALTER SEQUENCE seq_2 RESTART WITH 5 INCREMENT by 2 MAXVALUE 300;該實(shí)例修改seq_2為產(chǎn)生從5開(kāi)始,最大值300,每次遞增2的序列

重命名序列:
rename sequence seq_2 to seq_3
該語(yǔ)句修改seq_2的名字為seq_3,但功能不變。

刪除序列:
DROP SEQUENCE seq_2;
該語(yǔ)句刪除序列seq_2。

使用序列
CREATE TABLE tab1 (col1 int, col2 int); 
INSERT INTO tab1 (col1, col2) VALUES (seq_2.NEXTVAL, seq_2.NEXTVAL)       --用序列seq_2的下一個(gè)值和當(dāng)前值插入表tab1 
SELECT * FROM tab1; 
             col1 col2 
                 1
ALTER SEQUENCE seq_2 RESTART WITH 5 INCREMENT by 2 MAXVALUE 300; --修改序列 
INSERT INTO tab1 (col1, col2) VALUES (seq_2.NEXTVAL, seq_2.NEXTVAL) --再次插入數(shù)據(jù)
SELECT * FROM tab1;         
              col1 col2 
                 1
                 5
當(dāng)序列產(chǎn)生的值超過(guò)最大值時(shí),則會(huì)出現(xiàn)如下錯(cuò)誤:8313: Sequence (informix.seq_2) exceeds its MAXVALUE.

要注意的是:

①第一次nextval返回的是初始值;隨后的nextval會(huì)自動(dòng)增加你定義的increment by值,然后返回增加后的值。
    currval總是返回當(dāng)前sequence的值,但是在第一次nextval初始化之后才能使用currval,否則會(huì)出錯(cuò)。
    一次nextval會(huì)增加一次sequence的值。但是如果你在同一個(gè)條SQL語(yǔ)句里面針對(duì)同一個(gè)sequence使用多次nextval,其值都是一樣的。
②如果指定cache值,就可以預(yù)先在內(nèi)存里面放置一些sequence,這樣存取的快些。cache里面的取完后,自動(dòng)再取一組到cache。 使用cache或許會(huì)跳號(hào), 比如數(shù)據(jù)庫(kù)突然不正常down掉(shutdown abort),cache中的sequence就會(huì)丟失. 所以可以在create sequence的時(shí)候用nocache防止這種情況

總之,使用序列(sequence)可以快速的插入有序的不重復(fù)數(shù)據(jù),這對(duì)于某些需要產(chǎn)生大量不重復(fù)整數(shù)的環(huán)境中十分有用,但序列只能產(chǎn)生有序的整數(shù)數(shù)據(jù),也因此限制了該用法的使用場(chǎng)景。但不管怎樣,有了序列總能使我們的一些操作變得輕松便利

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多