要創建一個Oracle臨時表,可以使用以下語法:
CREATE GLOBAL TEMPORARY TABLE 表名 ( 列名1 數據類型1, 列名2 數據類型2, … ) ON COMMIT {DELETE ROWS | PRESERVE ROWS};
其中,表名是臨時表的名稱,列名和數據類型是表的列及其對應的數據類型。
ON COMMIT子句用于指定在事務提交時如何處理臨時表中的數據。DELETE ROWS選項表示在事務提交后刪除臨時表中的所有數據,而PRESERVE ROWS選項表示在事務提交后保留臨時表中的數據。
需要注意的是,臨時表的結構定義在會話結束后會自動刪除,但如果保留了數據(使用PRESERVE ROWS選項),那么數據會保留到會話結束后,但表結構會被刪除。
以下是一個創建Oracle臨時表的示例:
CREATE GLOBAL TEMPORARY TABLE temp_table ( id NUMBER, name VARCHAR2(50) ) ON COMMIT DELETE ROWS;
這個示例創建了一個名為temp_table的臨時表,包含id和name兩個列,數據類型分別為NUMBER和VARCHAR2。臨時表的數據在事務提交后會被刪除。