oracle中in不能超过1000怎么处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中in不能超过1000怎么处理相关的知识,希望对你有一定的参考价值。

参考技术A 方法1:使用or连接多个in
方法2:在in内部使用子查询结果集合

本回答被提问者采纳

Oracle中的in参数的个数限制

遇到了这个问题 “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 )

以上是关于oracle中in不能超过1000怎么处理的主要内容,如果未能解决你的问题,请参考以下文章

解决Oracle使用in语句不能超过1000问题

解决Oracle使用in语句不能超过1000问题

oracle 中 in 不能超过1000的解决方法 具体的解决方法

关于oracle in 的1000条限制

如何将超过 1000 个值放入 Oracle IN 子句 [重复]

如何调整oracle中的sql语句输入的最大长度