<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-94  評論-56  文章-3  trackbacks-0
    在Oracle數據庫中,sequence等同于序列號,每次取的時候sequence會自動增加,一般會作用于需要按序列號排序的地方。

    1、Create Sequence
    (注釋:你需要有CREATE SEQUENCE或CREATE ANY SEQUENCE權限)
    CREATE SEQUENCE emp_sequence
    INCREMENT BY 1 —— 每次加幾個
    START WITH 1 —— 從1開始計數
    NOMAXVALUE —— 不設置最大值
    NOCYCLE —— 一直累加,不循環
    CACHE 10;
    - 假如指定CACHE值,Oracle就可以預先在內存里面放置一些sequence,這樣存取的快些。cache里面的取完后,Oracle自動再取一組到cache. 使用cache或許會跳號, 比如數據庫突然不正常down掉(shutdown abort),cache中的sequence就會丟失。 所以可以在create sequence的時候用nocache防止這種情況。

    只要定義了emp_sequence,你就可以用使CURRVAL,NEXTVAL
    CURRVAL=返回 sequence的當前值
    NEXTVAL=增加sequence的值,然后返回 sequence 值
    例如:
    emp_sequence.CURRVAL
    emp_sequence.NEXTVAL

    可以使用sequence的地方:
    。不包含子查詢、snapshot、VIEW的 SELECT 語句
    。INSERT語句的子查詢中
    。INSERT語句的VALUES中
    。UPDATE 的 SET中
    例:
    INSERT INTO emp VALUES
    (empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
    SELECT empseq.currval FROM DUAL;

    2、Alter Sequence
    你需要有sequence的owner,或者擁有ALTER ANY SEQUENCE 權限才能改動sequence.
    可以alter除start至以外的所有sequence參數。如果想要改變start值,必須 drop sequence 再 re-create .

    Alter sequence示例:
    ALTER SEQUENCE emp_sequence INCREMENT BY 10 MAXVALUE 10000 CYCLE -- 到10000后從頭開始 NOCACHE ;
    posted on 2009-10-12 16:02 小言身寸 閱讀(365) 評論(0)  編輯  收藏 所屬分類: 數據庫/SQL語言
    主站蜘蛛池模板: 国产精品深夜福利免费观看| 黄页网站在线观看免费高清| 久久精品国产亚洲7777| 久久亚洲精品无码av| 成人啪精品视频免费网站| 日本亚洲免费无线码| 在线观看视频免费国语| 亚洲中文无码mv| 在线中文高清资源免费观看| 欧美日韩亚洲精品| 免费国产怡红院在线观看| 一级免费黄色毛片| 亚洲精品国产成人片| 91av免费观看| 亚洲熟女综合色一区二区三区| 亚洲AV日韩AV永久无码久久| 久久久高清日本道免费观看| 亚洲视频在线一区二区三区| 午夜免费啪视频在线观看 | fc2成年免费共享视频网站| 成人伊人亚洲人综合网站222| 精品国产综合成人亚洲区| a级精品九九九大片免费看| 亚洲福利在线观看| 国产精品免费观看久久| 黄色毛片免费在线观看| 精品久久香蕉国产线看观看亚洲| 欧美日韩亚洲精品| 亚洲精品你懂的在线观看| 亚洲大片免费观看| 亚洲精品无码专区在线播放| 亚洲精品国产自在久久| 久久w5ww成w人免费| 亚洲AV成人无码久久WWW| 日韩亚洲欧洲在线com91tv| 国产成人免费爽爽爽视频| 成年免费大片黄在线观看com| 国产免费人视频在线观看免费| 亚洲电影在线免费观看| 国产伦一区二区三区免费| 午夜老司机永久免费看片|