错误提示:SQLException: ORA-01795: maximum number of expressions in a list is 1000
错误原因:在SELECT查询语句时,WHERE中的某一个条件采用IN的方式,但是由于数据过多则产生错误。
如select username from TB_UserInfo where userID in ('1','2','3','4'....)
当括号里的条件超过1000以上就会出现ORA-01795的错误。解决方法:
判断用户的条件中userid选取是否超过10000,如果是则
将SQL语句改造成:
select username from TB_UserInfo where (userID in ('1','2','3'......) or userID in ('1001','1002','1003'......))
缺点是这样的话,如果效果会很低,希望有更好的解决方法。
本文介绍ORA-01795错误的原因及解决办法,此错误出现在使用IN子句时超过1000个表达式限制。文中提供了一种简单的解决方案,但指出该方法可能带来性能问题。
2693

被折叠的 条评论
为什么被折叠?



