ExecuteBatch方法在Java中返回值-2的数组

ExecuteBatch方法在Java中返回值-2的数组,第1张

ExecuteBatch方法在Java中返回值-2的数组

关于批处理更新的返回码,jdbc-spec有以下说法:

■0或更大-命令已成功处理,值是一个更新计数,指示受命令执行影响的数据库中的行数第14章批更新121

■Statement.SUCCESS_NO_INFO-命令已成功处理,但受影响的行数未知

Statement.SUCCESS_NO_INFO被定义为-2,因此您的结果表明一切正常,但是您将无法获得有关更新列数的信息。

oracle文档说明:

•对于准备好的语句批处理,不可能知道该批处理中每个单独的语句在数据库中影响的行数。因此,所有数组元素的值都为-2。根据JDBC
2.0规范,值-2表示 *** 作成功,但是受影响的行数未知。

•对于泛型语句批处理,该数组包含实际更新计数,这些计数指示受每个 *** 作影响的行数。只有在标准批处理的Oracle实现中具有通用语句的情况下,才能提供实际的更新计数。

•对于可调用语句批处理,服务器始终返回值1作为更新计数,而不管受每个 *** 作影响的行数。

这样看来,如果您需要更新计数,则不能使用

PreparedStatement
s,而必须退回到纯
Statement
s。



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

原文地址: http://outofmemory.cn/zaji/5132592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存