遇到了这个问题 “oracle中in参数个数限制”,这里记录下,

 

in后括号中的参数个数有限制,Oracle 9i 中个数不能超过256,Oracle 10g个数不能超过1000.

 

当in的个数大于1000时,解决办法有:

(1)对参数进行处理,分成多个in,其中每个in列表中参数都小于1000,如 in(1,2,3.........1000) or  params in(1001,1002...2000).

不过这种方法性能和维护性方面不好

 

(2)是将in后面的字符串改成了子查询,将in里面的数据保存到临时表中,params in(select ....from dual )

posted on 2018-05-10 09:05  池的巧克力  阅读(4154)  评论(0编辑  收藏  举报