【发布时间】:2010-12-03 23:20:43
【问题描述】:
鉴于以下情况:
if object_id('MyTable') is null create table MyTable( myColumn int )
两个单独的调用者不可能都将 object_id('MyTable') 评估为 null 并且都尝试创建表。
显然,该场景中的两个调用者之一会失败,但理想情况下,任何调用者都不应该失败,而是一个应该阻塞,另一个应该创建表,然后被阻塞的调用者将看到 object_id('MyTable') 不为 null 并且继续。
我可以在什么情况下应用排他锁,这样我的锁就不会超过绝对需要的?
【问题讨论】:
标签: sql sql-server sql-server-2005 tsql transactions