郁闷的SQL SERVER锁
时间:2010-09-06 来源:Jun2009
目前有段程序,想将数据库从ORACLE改到SQL,发现SQL锁好难实现如下功能(SQL SERVER功力不够)
ORACLE里:
1. 使用FOR UPDATE语句得到行
2. 对行进行操作(耗时或复杂计算)(此时其他用户不能对行加锁)
3. 依据2的结果,更新行,同时释放锁
4. 上列执行中,另外一个用户锁定行可以使用两种策略:
a. 等待事务完成,再进行处理(适合1~3执行时间不长)(还是使用FOR UPDATE)
b. 立刻报错,告诉用户另外一个用户正在操作 (使用FOR UPDATE NOWAIT)
相关阅读 更多 +