它考虑到以下几点:创建表,如果不存在
if object_id('MyTable') is null create table MyTable(myColumn int)
是没可能有两个不同的电话可能既评估OBJECT_ID(“MyTable的”)为空,所以都试图创建表。
很明显,在这种情况下,两个调用者之一会失败,但理想情况下,没有调用者应该失败,而应该阻塞,另一个应该创建表,然后被阻止的调用者将看到object_id('MyTable')为非null并继续。
关于我可以应用独家锁定,这样我不会锁定超过绝对需要?
莫名其妙地不用担心第二个来电者失败会很不舒服。我宁愿第二个调用者无误地进行 – 2009-10-05 14:41:45
@Ralph:有道理。这个程序多久执行一次?为什么你想在程序中创建一个表格?这是一个表,你会在程序结束时下降吗?如果没有,为什么不先创建一个真正的桌面?请解释你的情况,为什么你做这样的事情? – shahkalpesh 2009-10-05 14:54:20