乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      informix中的序列sequence

       昵稱15242507 2015-03-11
          informix自10開始可以產(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ù),如果大小超過30則報(bào)8313(超過最大值)錯(cuò)誤。這里的NOCYCLE選項(xiàng)表示如果產(chǎn)生的整數(shù)大于最大值后則停止生成整數(shù),若設(shè)為CYCLE則將從開始值重新開始生成數(shù)據(jù)。
      改變序列:
      ALTER SEQUENCE seq_2 RESTART WITH 5 INCREMENT by 2 MAXVALUE 300;該實(shí)例修改seq_2為產(chǎn)生從5開始,最大值300,每次遞增2的序列

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

      刪除序列:
      DROP SEQUENCE seq_2;
      該語句刪除序列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)生的值超過最大值時(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語句里面針對(duì)同一個(gè)sequence使用多次nextval,其值都是一樣的。
      ②如果指定cache值,就可以預(yù)先在內(nèi)存里面放置一些sequence,這樣存取的快些。cache里面的取完后,自動(dòng)再取一組到cache。 使用cache或許會(huì)跳號(hào), 比如數(shù)據(jù)庫突然不正常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)購買等信息,謹(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)論公約

        類似文章 更多