我需要执行一个选择,然后ResultSet
以原子方式更新其中的一些行。
我使用的代码看起来像(简化):
stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
rs = stmt.executeQuery("SELECT ...");
while (rs.next()) {
if (conditions_to_update) {
rs.updateString(...);
rs.updateRow();
}
}
- 我可以保证更新将自动执行吗?如果不是,我怎么能保证呢?
- 如果任何其他进程更改了您正在更新的数据库行,会发生什么
updateRow()
?有什么办法可以锁定中的行ResultSet
吗?