Oracle資料庫中的暫存資料表用法

來源:互聯網
上載者:User

這篇文章主要介紹了Oracle資料庫中的暫存資料表用法,希望對大家的學習和工作有所協助。

一:文法 Webjx.Com

在Oracle中,可以建立以下兩種暫存資料表:

 

(1) 會話特有的暫存資料表 Webjx.Com

CREATE GLOBAL TEMPORARY ( )

ON COMMIT PRESERVE ROWS;  

(2) 事務特有的暫存資料表

 

CREATE GLOBAL TEMPORARY ( )

ON COMMIT DELETE ROWS;

CREATE GLOBAL TEMPORARY TABLE MyTempTable Webjx.Com 

所建的暫存資料表雖然是存在的,但是如果insert 一條記錄然後用別的串連登上去select,記錄是空的。   網頁教學網

--ON COMMIT DELETE ROWS 說明暫存資料表是事務指定,每次提交後ORACLE將截斷表(刪除全部行)

Webjx.Com


--ON COMMIT PRESERVE ROWS 說明暫存資料表是會話指定,當中斷會話時ORACLE將截斷表。  

 

二:動態建立 Webjx.Com

create or replace procedure pro_temp(v_col1 varchar2,v_col2 varchar2) as

v_num number;

begin

select count(*) into v_num from
user_tables where table_name=''T_TEMP'';  

--create temporary table

if v_num<1 then

execute immediate ''CREATE GLOBAL TEMPORARY TABLE T_TEMP (

COL1 VARCHAR2(10),

COL2 VARCHAR2(10)

) ON COMMIT delete ROWS'';

end if;  

--insert data

execute immediate ''insert into t_temp values
(''''''  v_col1  '''''',''''''  v_col2  '''''')'';  

execute immediate ''select col1 from t_temp'' into v_num;

dbms_output.put_line(v_num);

execute immediate ''delete from t_temp'';

commit;

execute immediate ''drop table t_temp'';

end pro_temp;   

 

 

測試:   網頁教學網

15:23:54 SQL> set serveroutput on

15:24:01 SQL> exec pro_temp(''11'',''22'');

11  

PL/SQL 過程已成功完成。  

經過時間: 00: 00: 00.79

15:24:08 SQL> desc t_temp;

ERROR:

ORA-04043: 對象 t_temp 不存在  Webjx.Com 

三:特性和效能(與普通表和視圖的比較)

 

暫存資料表只在當前串連內有效


暫存資料表不建立索引,所以如果資料量比較大或進行多次查詢時,不推薦使用 Webjx.Com

資料處理比較複雜的時候時錶快,反之視圖快點


在僅僅查詢資料的時候建議用遊標: open cursor for ''sql clause'';

Webjx.Com

本文來自:網頁教學網(www.webjx.com)原文連結:http://www.webjx.com/database/oracle/database_oracle_2007_12_22_2384.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.