sequence 的用法

          剛剛用sequence ,又忘了,呵呵,從網(wǎng)上找了一篇文章,寫(xiě)的不錯(cuò),copy 在這里
          1、Create?Sequence?
          你首先要有CREATE?SEQUENCE或者CREATE?ANY?SEQUENCE權(quán)限,?
          CREATE?SEQUENCE?emp_sequence?
          ????INCREMENT?BY?1??--?每次加幾個(gè)?
          ????START?WITH?1????--?從1開(kāi)始計(jì)數(shù)?
          ????NOMAXVALUE??????--?不設(shè)置最大值?
          ????NOCYCLE?????????--?一直累加,不循環(huán)?
          ????CACHE?10;?

          一旦定義了emp_sequence,你就可以用CURRVAL,NEXTVAL?
          ?CURRVAL=返回?sequence的當(dāng)前值?
          ?NEXTVAL=增加sequence的值,然后返回?sequence?值?
          比如:?
          ??emp_sequence.CURRVAL?
          ??emp_sequence.NEXTVAL?

          可以使用sequence的地方:?
          -?不包含子查詢、snapshot、VIEW的?SELECT?語(yǔ)句?
          -?INSERT語(yǔ)句的子查詢中?
          -?NSERT語(yǔ)句的VALUES中?
          -?UPDATE?的?SET中???

          可以看如下例子:?
          INSERT?INTO?emp?VALUES??
          (empseq.nextval,?'LEWIS',?'CLERK',7902,?SYSDATE,?1200,?NULL,?20);?

          SELECT?empseq.currval?????FROM?DUAL;?

          但是要注意的是:?
          -?第一次NEXTVAL返回的是初始值;隨后的NEXTVAL會(huì)自動(dòng)增加你定義的INCREMENT?BY值,然后返回增加后的值。CURRVAL?總是返回當(dāng)前SEQUENCE的值,但是在第一次NEXTVAL初始化之后才能使用CURRVAL,否則會(huì)出錯(cuò)。一次NEXTVAL會(huì)增加一次SEQUENCE的值,所以如果你在同一個(gè)語(yǔ)句里面使用多個(gè)NEXTVAL,其值就是不一樣的。明白??

          -?如果指定CACHE值,ORACLE就可以預(yù)先在內(nèi)存里面放置一些sequence,這樣存取的快些。cache里面的取完后,oracle自動(dòng)再取一組到cache。?使用cache或許會(huì)跳號(hào),?比如數(shù)據(jù)庫(kù)突然不正常down掉(shutdown?abort),cache中的sequence就會(huì)丟失.?所以可以在create?sequence的時(shí)候用nocache防止這種情況。?

          2、Alter?Sequence?
          你或者是該sequence的owner,或者有ALTER?ANY?SEQUENCE?權(quán)限才能改動(dòng)sequence.?可以alter除start至以外的所有sequence參數(shù).如果想要改變start值,必須?drop??sequence?再?re-create?.?
          Alter?sequence?的例子?
          ALTER?SEQUENCE?emp_sequence?
          ????INCREMENT?BY?10?
          ????MAXVALUE?10000?
          ????CYCLE????--?到10000后從頭開(kāi)始?
          ????NOCACHE?;?


          影響Sequence的初始化參數(shù):?
          SEQUENCE_CACHE_ENTRIES?=設(shè)置能同時(shí)被cache的sequence數(shù)目。??

          可以很簡(jiǎn)單的Drop?Sequence?
          DROP?SEQUENCE?order_seq;?

          posted on 2006-09-24 16:08 康文 閱讀(725) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 长沙市| 全椒县| 五大连池市| 龙泉市| 昂仁县| 图们市| 柯坪县| 镇远县| 齐齐哈尔市| 晋江市| 汤原县| 革吉县| 利津县| 宁南县| 石河子市| 莱芜市| 谷城县| 云南省| 乌鲁木齐市| 大宁县| 朝阳市| 沂源县| 泉州市| 军事| 区。| 泸州市| 将乐县| 金昌市| 云浮市| 乐安县| 灌云县| 贡山| 永兴县| 漳浦县| 四会市| 桦南县| 监利县| 肃北| 宽城| 额尔古纳市| 吉林市|