并发处理存储过程

时间:2019-04-29 08:29:20

标签: sql-server stored-procedures concurrency

我的存储过程是这样的。

我正在维护表A中的RowVersion。

  1. 开始交易
  2. 从表A rw1中读取RowVersion
  3. ...
  4. 一些计算
  5. ...
  6. 从表A中读取RowVersion为rw2
  7. 更新某些表,包括表A
  8. IF(rw1 == rw2)
  9. 提交
  10. ELSE
  11. 回滚

当前,我使用READ COMMIT作为隔离级别,但是当其更新表时,RowVersion也正在更改。

目标:当两个或多个用户同时登录到系统并按一个按钮(将执行此SP)时,第一个将仅执行SP,而不允许其他人执行

0 个答案:

没有答案