本文主要是介绍ORA-01795: maximum number of expressions in a list is 1000,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ORA-01795: maximum number of expressions in a list is 1000
使用in函数出现的报错问题
最近项目上线查询功能出现了一个日志报错:ORA-01795: maximum number of expressions in a list is 1000,
经过开发查询代码得知,是使用in函数出现的问题
如果是mysql:
对于in函数后的传参没有限制,不过对于参数的长度做了限制,默认是4M
如果是oracle:
对于in函数的传参,限制为1000,超过则报上面的错误
解决方法:
1.采用多个in ,原来in (1…1005) 写成 in(1…1000) or id in(1001…1005) (当前所选方法)
2. 采用join链接。
3. 其他任何办法,只要降低In中列表元素的数量即可。
这篇关于ORA-01795: maximum number of expressions in a list is 1000的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!