使用IN子句获取超过1000条记录

时间:2013-04-08 09:50:48

标签: sql oracle oracle-sqldeveloper

我在oracle数据库上使用sql developer。我的要求是使用我拥有的主键ID一次拔出超过8000行。 sql developer不允许我一次获取超过1000个。我所能做的就是添加一个OR并最多拉2000(1000 + 1000)。是否有更好的方法一次拉动ALL?

如果需要使用临时表,我该如何在oracle中使用?

Select * from X where ID in (1,2,...1000) OR ID IN (1001,1002,...2000);

谢谢

1 个答案:

答案 0 :(得分:3)

将所有ID放入临时表

然后执行SELECT查询WHERE id IN (SELECT id FROM<您创建的临时表>)

应该工作。

e.g。在Oracle中创建TEMP TABLE:

CREATE TABLE `temp`
   AS SELECT distinct `id` FROM `<your table>`;

干杯。