【发布时间】:2012-06-21 03:16:29
【问题描述】:
我有一个 SQL 查询,它生成了一个我想多次重复使用的表。在 T-SQL 中我会创建一个临时表 (#temp),Oracle SQL 中的等价物是什么?
谢谢。
【问题讨论】:
-
谷歌有什么要说的?
-
Google 谈论全局临时表,但在 SQL 中创建#temp 表不需要特定权限。当我尝试在 oracle 中创建全局临时表时,它说我没有权限。
-
Oracle 无法在没有特定权限的情况下创建临时表。请您的 DBA 授予您 CREATE TABLE 权限。如果您需要 PL/SQL 中的临时存储,请考虑使用 PL/SQL collection 类型。
-
@N. West,这是个坏建议,而不是 oracle 中临时表的工作方式
-
一般来说,Oracle 中不需要像 SQL Server 中那样多的临时表(因为它是更有效的锁定实现)。在我看到的大多数情况下,您可以简单地将 SQL Server 临时表替换为相应的选择(或使用 WITH 子句)