错误提示: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'......))
缺点是这样的话,如果效果会很低,希望有更好的解决方法。