CREATE GLOBAL TEMPORARY TABLE介紹

語法說明

  • 建立暫存資料表
  • 指定 ON COMMIT 子句,設定提交後的資料處理
  • 暫存資料表有以下限制
  1. 無法分割,建立索引,建立叢集
  2. 無法指定外部條件約束
  3. 不支援平行DML和平行查詢
  4. 不支援分散式交易
  5. 無法包含巢狀的表格欄位
格式
CREATE GLOBAL TEMPORARY TABLE [schema.]table_name
   ( [column datatype [DEFAULT value] [constraint] 
     [,column datatype [DEFAULT value] [constraint]...]] )
[ON COMMIT {DELETE | PRESERVE} ROWS]
[TABLESPACE tablespace_name];
schema : 結構名稱
table_name : 表格名稱
column : 欄位名稱
datatype : 資料型別
value : 欄位預設值,可包含字串與SQL函數
constraint : 約束條件
DELETE ROWS : 資料只在commit前有效,commit後資料捨棄
PRESERVE ROWS : 資料只在作業過程中有效,作業階段結束資料捨棄
tablespace_name : 表空間名稱
語法示範
說明 : 建立暫存資料表,資料只在作業過程中有效,作業階段結束資料捨棄
create global temporary table hr.emp_tmp
    (emp_id number(10), 
      emp_name varchar2(10))
ON COMMIT PRESERVE ROWS;