中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle中如何使用臨時表

發布時間:2021-07-30 16:45:38 來源:億速云 閱讀:186 作者:Leah 欄目:大數據

這期內容當中小編將會給大家帶來有關Oracle中如何使用臨時表,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Oracle臨時表介紹

Oracle的臨時表temporary tables,一般我們分為兩種臨時表,分別的會話級的臨時表和事務級的臨時表。


1.會話級臨時表

  會話級臨時表是指臨時表中的數據只在會話生命周期之中存在,當用戶退出會話結束的時候,Oracle自動清除臨時表中數據。

  格式:

  Create Global Temporary Table Table_Name  
  (
   Col1 Type1,
   Col2 Type2
   ...
  ) 
  On Commit Preserve Rows;


  2.事務級臨時表
  事務級臨時表是指臨時表中的數據只在事務生命周期中存在。
  Create Global Temporary Table Table_Name  
  (
    Col1 Type1,
    Col2 Type2
    ...
  ) 
  On Commit Delete Rows; 

  當一個事務結束(commit or rollback),Oracle自動清除臨時表中數據。


注意

一般我們在SQL里面用到臨時表都會是用到時候創建,用完后刪除(或是自動刪除),如下:

Oracle中如何使用臨時表

但是在Oracle里面因為有會話級和事務級臨時表,用完后會自動清空等,不建議每次都Drop然后再Create,主要原因也是我在測試的過程中發現用到Drop臨時表時報過錯了,當時的錯誤沒記下來,后來就是變為沒有就創建,有就清空數據的寫法。


臨時表用法

我們直接上代碼

declare vi_count integer;
    vs_sSql varchar2(4000):='';
begin
    vs_sSql:= 'select count(*) from user_tables where table_name = upper(' ||
                  chr(39) || 'temp_cstable' || chr(39) || ')';
    execute immediate vs_sSql into vi_count;
    dbms_output.put_line(vi_count);
    --判斷temp_cstable的臨時表是否存在,如果存在清空里面數據,不存在即創建
    if vi_count>0 then
      vs_sSql := 'delete from temp_cstable';
      execute immediate vs_sSql;
    else
      vs_sSql    := '
         create global temporary table temp_cstable (
               incode varchar2(20),
               barcode varchar2(20),
               xstotal number,
               yhtotal number) on commit delete rows';
      execute immediate vs_sSql;
    end if;
end;


Oracle中如何使用臨時表

上述就是小編為大家分享的Oracle中如何使用臨時表了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

龙陵县| 江安县| 综艺| 甘谷县| 大丰市| 梨树县| 德清县| 新闻| 白朗县| 松滋市| 兴安盟| 马尔康县| 庐江县| 通江县| 台北市| 克东县| 分宜县| 河池市| 富顺县| 丰顺县| 新龙县| 永胜县| 罗定市| 柘城县| 庆云县| 扎兰屯市| 抚宁县| 塔城市| 东安县| 柳河县| 前郭尔| 衡阳县| 武安市| 郴州市| 呼和浩特市| 正阳县| 浙江省| 日喀则市| 宁津县| 新营市| 淮阳县|