【发布时间】:2013-12-20 15:18:05
【问题描述】:
我正在尝试使用 Oracle 全局临时表,而无需在数据库中实际创建表。以下代码不起作用。有人可以解释一下使用全局临时表的正确方法吗?
declare
global temporary table my_temp_table(column1 number) on commit preserve rows;
begin
insert into my_temp_table (column1) values (1);
select * from my_temp_table;
end;
【问题讨论】:
-
在磁盘上创建有什么问题?
-
全局临时表必须在数据库中创建,不能在PL/SQL本地定义。还有其他方法可以在 PL/SQL 中保存数据,使用 collections。合适的工具取决于你想要做什么——为什么你首先想要一个 GTT?您放入其中的数据的最终目标是什么?
-
@AlexPoole:link 有一个为会话声明临时表的功能,请找到链接,我不知道这是如何使用的,但喜欢探索
-
@GauravSoni - 这是 Derby 的文档,而不是 Oracle RDBMS?
-
@AlexPoole:啊,很抱歉,可能马修也因此而感到困惑。
标签: oracle plsql oracle11g oracle10g plsqldeveloper