欢迎光临
感受代码之美

Oracle ORA-01795: maximum number of expressions in a list is 1000错误解决

解决办法有两个:

1.使用INNER JOIN替换IN

例:

SELECT  foo   
FROM    bar   
WHERE bar.stuff IN  
       (SELECT  stuff FROM asdf)

转换为

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

2.多个or连接

select * from table_name
  where
      column_name in (V1,V2,V3,...V1000)
  or
      column_name in (V1001,V1002,V1003,...V2000)
  ...

参考:

  1. java.sql.SQLSyntaxErrorException: ORA-01795: maximum number of expressions in a list is 1000
  2. SQL IN Clause 1000 item limit
赞(2)
未经允许禁止转载:四个空格 » Oracle ORA-01795: maximum number of expressions in a list is 1000错误解决

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址