【发布时间】:2012-03-06 22:57:15
【问题描述】:
是否存在任何 In-Memory 对象,如 Microsoft SQL Server 临时表也可用于 Oracle?
更新:
我询问了临时表,因为我必须复制 X 数据集并将它们再次插入同一个表中,并对复制的数据集的字段进行一些更新。单独的复制操作会导致主要约束异常,因此我必须执行 Insert Into(Select... 到内存对象中,在那里进行更新,然后将所有更改数据集写回到原始表中。什么更适合临时表还是表变量?考虑我使用 ADO.NET。因此,由于语言差异,执行的一条语句必须适用于 Oracle 和 MS Sql Server,无一例外。
【问题讨论】:
-
SQL Server 中的临时表不在内存中。它们存在于
tempdb数据库中。甚至在内存压力下的表变量也可能被推送到tempdb数据库。事实上,表变量的模式总是在tempdb中创建的。 -
@Joe 只要我可以在不是我的原始表的表中做临时工作,tempdb 数据库就可以了。
标签: oracle temp-tables