请教一下这个SQL能否像预期一样一次更新一条记录

周翼翼 发布于 2014/03/20 21:26
阅读 170
收藏 0
UPDATE TABLE1 SET FIELD1 = NEW WHERE FIELD1=OLD AND ROWNUM=1 RETURNING KEY;

同时是多进程安全的.


@宏哥 @mark35 @any1
加载中
0
mark35
mark35
WHERE筛选出多少就更新多少条记录
0
宏哥
宏哥

楼上是正确的, 数据版本会控制这个更新的一致性, 不存在进程安全性的问题。

操作先执行获得优先权,  要么在前一条结果上处理, 不会冲突。

宏哥
宏哥
回复 @周翼翼 : 通过 begin commit来锁定原子操作, 就不会出现你不想要的结果。
周翼翼
周翼翼
其实我就是要一次处理一条记录,所以通过一次更新一条记录来得到要处理的记录。@mark35
返回顶部
顶部