插入时报这个异常:java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000

插入时报这个异常:java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000,第1张

仔细看一下,你是把所有参数都放到in里边了,超过了in的最大可置放参数(即那个list),所以就报错了。

delete本身是没有问题的。建议改用 < >来划定要删除的范围,并且 *** 作主键数据来删除。希望对你有帮助。

oracle中如果查询结果集超过1000行会报以下错误

系统报出一SQL异常,内容如下:

java.sql.SQLException: ORA-01795: maximum number of expressions in a list is 1000

解决办法啊:

StringBuffer sb = new StringBuffer()

int inNum = 1//已拼装IN条件数量

for(int i=0i<custNOs.lengthi++) {

if(StringUtil.isEmpty(custNOs[i])) continue

//这里不要犯低级错误而写成:if(i == custNOs.length)

if(i == (custNOs.length-1))

sb.append("'" + custNOs[i] + "'") //SQL拼装,最后一条不加“,”。

else if(inNum==1000 &&i>0) {

sb.append("'" + custNOs[i] + "' ) OR CUST_NO IN ( ") //解决ORA-01795问题

inNum = 1

}

else {

sb.append("'" + custNOs[i] + "', ")

inNum++

}

}

String selectSQL = "SELECT * FROM CUSTOMER T WHERE T.CUST_NO IN ( " + sb.toString() + " )"


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10063221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存