13

我尝试将 CREATE TABLE table_name AS SELECT .... 语句与 GLOBAL 临时表语句混合。他们不能很好地混合。

我的例子错了吗?

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

2 回答 2

36

它应该是:

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

(如果您不想在当前会话中最初使用 b 中的所有数据填充它,也添加 where 1=0)。

于 2013-03-22T12:07:57.710 回答
1

CREATE PRIVATE TEMPORARY TABLE TMP_MYTABLE ON COMMIT PRESERVE ROWS AS SELECT * FROM MYTABLE WHERE 1 = 0;

=> ORA-00905: 缺少关键字

我使用甲骨文 12.1

于 2022-02-14T21:57:26.167 回答