我需要执行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