【发布时间】:2023-03-19 16:55:02
【问题描述】:
我有一个 JDBC 代码,其中存在多个 Savepoints;像这样:
1st insert statement
2nd insert statement
savepoint = conn.setSavepoint("S1");
1st insert statement
2nd update statement
savepoint = conn.setSavepoint("S2");
1st delete statement
2nd delete statement
savepoint = conn.setSavepoint("S3");
1st insert statement
2nd delete statement
savepoint = conn.setSavepoint("S4");
现在在 catch 块中,我正在捕获异常并检查 Savepoint 是否为 null;如果是,则回滚整个连接,否则回滚到Savepoint。但我无法理解我应该回滚到哪个Savepoint。
如果我将所有保存点名称更改为 "S1" 会好吗?在那种情况下,我将如何理解 Savepoint 之前有多少工作正常?
请告知如何理解直到Savepoint的工作被正确执行?
【问题讨论】:
标签: java oracle jdbc savepoints