oracle中in后只能有1000条以内,若多余1000条会出现ORA-01795问题,解决方案:
String[] ids = params.split(",");
StringBuffer allId = new StringBuffer("");
int inNum = 1; //已拼装IN条件数量
for(int i=0;i<ids.length;i++) {
if(inNum==1000 && i>0) {
allId.append("'" + ids[i] + "' ) OR PROJECT_ID IN ( "); //解决ORA-01795问题
inNum = 1;
}
else {
allId.append("'" + ids[i] + "',");
inNum++;
}
}分别放到两个in中。
本文介绍了解决Oracle数据库中IN子句元素超过1000个时出现的ORA-01795错误的方法。通过将大量元素拆分为多个IN子句来规避限制。
3386

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



