【发布时间】:2015-04-28 16:26:04
【问题描述】:
表Meta_Cache([Value] NVARCHAR(MAX),[UserID] NVARCHAR)
我有一个为每个用户插入 5 行的存储过程。
每个用户可以有多个并发调用,来自特定UserID 的第一个调用插入一组值,其他调用只读取该UserID 的值。这通过检查不起作用
if exists(Select 1 from Meta_cache Where UserID = @UserID)
当有多个并发调用时。
我想要特定的锁定机制,有条件地锁定特定 UserID 的行,另一个用户不会受到锁定的影响。
我只是参考了一些来自
的脚本http://weblogs.sqlteam.com/dang/archive/2007/10/28/Conditional-INSERTUPDATE-Race-Condition.aspx
【问题讨论】:
标签: sql sql-server sql-server-2008 concurrency locking