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
か?