【问题标题】:How to count records, deleted via JDBC executeBatch in Oracle如何计算记录,通过 Oracle 中的 JDBC executeBatch 删除
【发布时间】:2019-12-17 15:17:16
【问题描述】:
int[] res = stmt.executeBatch();

问题:对于 Oracle,res 数组中的所有值都是“-2”。 对于插入,您可以简单地将 res 数组大小作为插入的记录数。 对于删除 - 无论删除是否成功,结果都保持不变,因此您无法计算实际删除(或更新)的记录数。

还有其他方法可以直接删除吗? (无需查找)

【问题讨论】:

  • 为了记录,-2 是Statement.SUCCESS_NO_INFO

标签: oracle jdbc oracle12c


【解决方案1】:

从 12.1 版开始,Oracle JDBC 返回 Array DML 的行数。查看详情@https://docs.oracle.com/database/121/JJDBC/oraperf.htm#CHDCDBCH

【讨论】:

  • Empty DELETE(没有删除任何内容的那个)将返回一个数组条目,就像发生的删除一样,所以问题很普遍 - 无法确定有多少记录已被更改,使用方法你在描述。
猜你喜欢
  • 1970-01-01
  • 2019-05-20
  • 2016-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
相关资源
最近更新 更多