Oracle IN Clause循环加入工作约1000限制

时间:2014-10-01 19:36:32

标签: sql oracle plsql

所以我查看了this postthis post,但找不到针对我情况的解决方法。我的条件如下:

  1. 我有IN条款
  2. 的7000多个条件(所有唯一值)
  3. 我只有公司数据库的只读权限。我对尝试this post的临时表解决方案犹豫不决。
  4. 是否可以遍历事务以查询满足7000 IN条件的所有记录?我的公司使用Oracle。

1 个答案:

答案 0 :(得分:0)

IN语句有限制,您可以通过多种方式处理它。您将不得不创建一个临时表。这是:SQL IN Clause 1000 item limit

的副本

您可以加入数据:

  SELECT  b.foo 
FROM    ( 
        SELECT  DISTINCT stuff 
        FROM    asdf ) a 
JOIN    bar b 
ON      b.stuff = a.stuff

你可以做一个EXISTS

 SELECT  a.id 
 FROM asdf
 WHERE
  a.id EXISTS (
     SELECT b.id from bnml b 
     where b.id = a.id
 )