【发布时间】:2016-03-06 10:13:38
【问题描述】:
我来自 SQL Server 环境,您可以在其中使用 @table 声明临时表,但正如我所读到的,您不能在 oracle 中执行此操作。
我想从表中获取 500.000 个硬编码 id 的值,但由于 IN 子句的限制为 1000,我需要找到另一种方法。是创建一个临时表并插入硬编码值然后加入另一个包含我需要的值的表的最佳方法吗?
我的客户端(蟾蜍)的自动提交设置为关闭,我不想提交任何东西,我希望它是基于会话的,所以当我关闭数据库客户端时,我希望临时表消失。下面的代码在oracle中是正确的吗?
CREATE GLOBAL TEMPORARY TABLE Test(HardcodedId number(10))
ON COMMIT DELETE ROWS;
我也尝试过使用内连接,并在连接中从对偶中选择硬编码值,但这会为每个值创建一个列,我无法使用引用来连接。是否可以将所有值插入到双列中?
【问题讨论】:
标签: oracle11g