温馨提示:本文翻译自stackoverflow.com,查看原文请点击:java - Is the executeBatch() performed on Oracle is done in order?
java jdbc oracle

java - 在Oracle上执行的executeBatch()是否按顺序完成?

发布于 2020-04-10 17:15:41

这更多是一种理论问题,可以理解Oracle如何处理executeBatch()请求。

考虑到有三个插入语句(PreparedStatement),添加了语句1,语句2和语句3,以使用executeBatch()方法在Oracle上成批执行。甚至在语句1完成之前,语句2的执行是否有机会完成?换句话说,在通过操作执行插入之前,通过语句2进行的插入操作能否成功?

如果自动提交设置为false。

提前致谢。

查看更多

提问者
user2813978
被浏览
61
Adrian Shum 2014-11-20 17:34

提供的自动提交设置为false

然后,如果您要关注插入中间的查询,答案就很简单了(就像您在另一个答案的注释中提到的那样):

鉴于在同一连接中,您不能在上一个插入语句完成之前进行查询,这意味着您的查询需要来自其他连接。

在Oracle中,在落实任何插入/更新/删除之前,其他连接看不到更改。这意味着,在您完成任何插入之前,查询将看到快照。

这样,您就不必担心这方面的插入顺序了。