我需要執行select並以原子方式更新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
中的行?
謝謝。我正在尋找一種方法來鎖定表,一個具體的行,甚至使用JDBC(或至少標準的SQL)單個單元格。我想這是不可能的。 – 2008-10-17 18:09:38