2013-03-22 164 views
7

我試着將CREATE TABLE table_name AS SELECT ....語句與GLOBAL臨時表語句混合使用。他們混合不好。Oracle:通過SELECT語句創建臨時表

我的例子錯了嗎?

CREATE GLOBAL TEMPORARY TABLE a AS 
(
    SELECT * from b 
) 
ON COMMIT PRESERVE ROWS; 

回答

20

它應該是:

CREATE GLOBAL TEMPORARY TABLE a 
ON COMMIT PRESERVE ROWS 
AS 
select * from b; 

(添加其中1 = 0太多,如果你不想最初從B中的所有數據填充當前會話)。