CREATE GLOBAL TEMPORARY TABLE介紹
語法說明
- 建立暫存資料表
- 指定 ON COMMIT 子句,設定提交後的資料處理
- 暫存資料表有以下限制
- 無法分割,建立索引,建立叢集
- 無法指定外部條件約束
- 不支援平行DML和平行查詢
- 不支援分散式交易
- 無法包含巢狀的表格欄位
格式
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;