【发布时间】:2017-10-13 17:37:07
【问题描述】:
是否可以从 JDBC 事务中返回值?例如,假设我需要在应用以下事务后立即知道 'key' 对应的值是 1 还是 -1。对键执行后续SELECT 会引入竞争条件,因为另一个并发进程可能会在第一个完成之后但在执行后续SELECT 之前执行相同的事务。交易是否可以将价值返还给我?
con.setAutoCommit(false)
val stmt = con.createStatement()
stmt.executeUpdate("UPDATE table SET value = CASE WHEN value > 0 THEN -1 ELSE 1 END WHERE key = 'key'");
con.commit();
【问题讨论】:
标签: postgresql jdbc transactions