我创建了全局温度表。当我作为单个脚本执行代码时,它可以正常工作。但是,当我在蟾蜍中执行单个脚本时,就不会创建记录。只有一个空的全局临时表。

例如。

CREATE GLOBAL TEMPORARY TABLE TEMP_TRAN
(
COL1 NUMBER(9),
COL2 VARCHAR2(30),
COL3 DATE
) ON COMMIT PRESERVE ROWS
/

INSERT INTO TEMP_TRAN VALUES(1,'D',sysdate);
/
INSERT INTO TEMP_TRAN VALUES(2,'I',sysdate);
/
INSERT INTO TEMP_TRAN VALUES(3,'s',sysdate);
/
COMMIT;

当我一次运行上述代码时,它可以正常工作。但是,当我以脚本的方式执行它时,它运行良好,但是临时表中没有记录。

有人可以帮我吗?

有帮助吗?

解决方案

既然您明确说明 ON COMMIT PRESERVE ROWS, ,排行似乎“消失”的唯一原因是Toad使用了多个会话(即,您正在使用会话A执行脚本并使用会话B查询表格 - 它会看到一个空表)。

我不使用toad,但是我知道您可以使用此工具打开几个独立的会话。

如果您放置查询会怎样 SELECT * FROM TEMP_TRAN; 在提交后立即在脚本结束时?

其他提示

有时,您需要刷新TOAD中的数据显示,以便显示“ TabPage数据”下表中的更改。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top