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

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

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

    本站不再更新,歡迎光臨 java開發技術網
    隨筆-230  評論-230  文章-8  trackbacks-0
    在Oracle8i或以上版本中,可以創建以下兩種臨時表:
    1。會話特有的臨時表
        CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
        ON COMMIT PRESERVE ROWS;
      
    2。事務特有的臨時表
        CREATE GLOBAL TEMPORARY <TABLE_NAME> (<column specification>)
        ON COMMIT DELETE ROWS;
       CREATE GLOBAL TEMPORARY TABLE MyTempTable
    所建的臨時表雖然是存在的,但是你試一下insert 一條記錄然后用別的連接登上去select,記錄是空的,明白了吧,我把下面兩句話再貼一下:
    --ON COMMIT DELETE ROWS 說明臨時表是事務指定,每次提交后ORACLE將截斷表(刪除全部行)
    --ON COMMIT PRESERVE ROWS 說明臨時表是會話指定,當中斷會話時ORACLE將截斷表。
    沖突的問題更本不用考慮.
      
    臨時表只是保存當前會話(session)用到的數據,數據只在事務或會話期間存在。
      
    通過CREATE GLOBAL TEMPORARY TABLE命令創建一個臨時表,對于事務類型的臨時表,
    數據只是在事務期間存在,對于會話類型的臨時表,數據在會話期間存在。
      
    會話的數據對于當前會話私有。每個會話只能看到并修改自己的數據。DML鎖不會加到
    臨時表的數據上。下面的語句控制行的存在性。
      
    ● ON COMMIT DELETE ROWS 表名行只是在事務期間可見
    ● ON COMMIT PRESERVE ROWS 表名行在整個會話期間可見
      
    可以對臨時表創建索引,視圖,出發器,可以用export和import工具導入導出表的
    定義,但是不能導出數據。表的定義對所有的會話可見。


    Temporary Tables臨時表
    1簡介
       ORACLE數據庫除了可以保存永久表外,還可以建立臨時表temporary tables。這些臨時表用來保存一個會話SESSION的數據,
       或者保存在一個事務中需要的數據。當會話退出或者用戶提交commit和回滾rollback事務的時候,臨時表的數據自動清空,
       但是臨時表的結構以及元數據還存儲在用戶的數據字典中。
       臨時表只在oracle8i以及以上產品中支持。
    2詳細介紹
       Oracle臨時表分為 會話級臨時表 和 事務級臨時表。
    會話級臨時表是指臨時表中的數據只在會話生命周期之中存在,當用戶退出會話結束的時候,Oracle自動清除臨時表中數據。
    事務級臨時表是指臨時表中的數據只在事務生命周期中存在。當一個事務結束(commit or rollback),Oracle自動清除臨時表中數據。
    臨時表中的數據只對當前Session有效,每個Session都有自己的臨時數據,并且不能訪問其它Session的臨時表中的數據。因此,
    臨時表不需要DML鎖.當一個會話結束(用戶正常退出 用戶不正常退出 ORACLE實例崩潰)或者一個事務結束的時候,Oracle對這個會話的
    表執行 TRUNCATE 語句清空臨時表數據.但不會清空其它會話臨時表中的數據.
    你可以索引臨時表和在臨時表基礎上建立視圖.同樣,建立在臨時表上的索引也是臨時的,也是只對當前會話或者事務有效.  
    臨時表可以擁有觸發器.
    3建立臨時表
       臨時表的定義對所有會話SESSION都是可見的,但是表中的數據只對當前的會話或者事務有效.
       建立方法:
    1) ON COMMIT DELETE ROWS 定義了建立事務級臨時表的方法.
    CREATE GLOBAL TEMPORARY TABLE admin_work_area
            (startdate DATE,
             enddate DATE,
             class CHAR(20))
          ON COMMIT DELETE ROWS;
    EXAMPLE:
    SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area
      2          (startdate DATE,
      3           enddate DATE,
      4           class CHAR(20))
      5        ON COMMIT DELETE ROWS;
    SQL> create table permernate( a number);
    SQL> insert into admin_work_area values(sysdate,sysdate,'temperary table');
    SQL> insert into permernate values(1);
    SQL> commit;
    SQL> select * from admin_work_area;
    SQL> select  * from permernate;
    A
    1
    2)ON COMMIT PRESERVE ROWS 定義了創建會話級臨時表的方法.
    CREATE GLOBAL TEMPORARY TABLE admin_work_area
            (startdate DATE,
             enddate DATE,
             class CHAR(20))
         ON COMMIT PRESERVE ROWS;
    EXAMPLE:

    會話1:
    SQL> drop table admin_work_area;
    SQL> CREATE GLOBAL TEMPORARY TABLE admin_work_area
      2          (startdate DATE,
      3           enddate DATE,
      4           class CHAR(20))
      5       ON COMMIT PRESERVE ROWS;
    SQL> insert into permernate values(2);
    SQL> insert into admin_work_area values(sysdate,sysdate,'session temperary');
    SQL> commit;
    SQL> select * from permernate;

             A
    ----------
             1
             2

    SQL> select * from admin_work_area;

    STARTDATE  ENDDATE    CLASS
    ---------- ---------- --------------------
    17-1?? -03 17-1?? -03 session temperary

    會話2:

    SQL> select * from permernate;

             A
    ----------
             1
             2

    SQL> select * from admin_work_area;

    未選擇行.

    會話2看不見會話1中臨時表的數據.
    posted on 2007-06-20 17:34 有貓相伴的日子 閱讀(3936) 評論(1)  編輯  收藏 所屬分類: pl/sql

    評論:
    # re: oracle臨時表 2014-05-02 14:48 | 2
    方法  回復  更多評論
      
    本站不再更新,歡迎光臨 java開發技術網
    主站蜘蛛池模板: 中文字幕不卡亚洲| 亚洲欧洲日产国码av系列天堂| 中文字幕无码视频手机免费看| 日韩精品成人无码专区免费 | a级在线观看免费| 久久免费精彩视频| 国内外成人免费视频| 亚洲乱码中文字幕综合234| 亚洲va在线va天堂va四虎| 亚洲乱亚洲乱妇无码| 最近免费mv在线观看动漫| 精品免费国产一区二区三区| 亚洲乱亚洲乱妇无码麻豆| 97人妻精品全国免费视频| 亚洲AV无码一区二区三区DV| 美女扒开屁股让男人桶爽免费| 99xxoo视频在线永久免费观看| 暖暖免费高清日本中文| 91天堂素人精品系列全集亚洲| 亚洲欧洲日产国码久在线| 免费不卡中文字幕在线| 久久亚洲国产成人影院| 一级成人a毛片免费播放| 狠狠亚洲婷婷综合色香五月排名| 中国在线观看免费的www| 国产一级特黄高清免费大片| 亚洲av产在线精品亚洲第一站 | 亚洲av无码乱码国产精品| 日韩在线永久免费播放| 中国china体内裑精亚洲日本| 国产网站免费观看| 亚洲欧美日韩中文字幕在线一区| 亚洲国产精品尤物yw在线 | 亚洲无线观看国产精品| 中文字幕免费视频一| 久久精品亚洲综合| 一个人在线观看视频免费| 性生大片视频免费观看一级| 国产无遮挡吃胸膜奶免费看 | 无码少妇一区二区浪潮免费| 特黄特色大片免费|