Oracle:通过SELECT语句创建临时表

Rev*_*ous 9 oracle

我试图将CREATE TABLE table_name AS SELECT ....语句与GLOBAL临时表语句混合使用.它们混合得不是很好.

我的例子错了吗?

CREATE GLOBAL TEMPORARY TABLE a AS
(
   SELECT * from b
)
ON COMMIT PRESERVE ROWS;  
Run Code Online (Sandbox Code Playgroud)

Daz*_*zaL 26

它应该是:

CREATE GLOBAL TEMPORARY TABLE a
ON COMMIT PRESERVE ROWS
AS
select * from b;
Run Code Online (Sandbox Code Playgroud)

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

  • 您好,我尝试了这个,但使用了“创建私有临时表”,但出现了一个错误,其中 TEMPORARY 用 mgs 突出显示:[错误]执行(386:16):ORA-00905:缺少关键字。你能告诉我哪里出了问题吗? (2认同)