我有两个TSQL EXEC语句
EXECUTE (N'MyDynamicallyGeneratedStoredProcedure') -- return 0 on success SELECT @errCode = @@ERROR ; IF (@errCode = 0) BEGIN EXEC 'A Sql Statement using ##temptable created from first', @returnValue END
如何使两个EXEC同步?; 现在,第二个EXEC不会等待第一个EXECUTE完成。我尝试发出WaitFor Delay,它等待,但是第二个EXEC语句永不恢复。
谢谢。
更新,这里是更多信息:
现在,第二个EXEC抱怨找不到Global Temp表。
更新2,发现了问题(还有我!!)
GBN(及其他)在答案上空白。EXEC是同步的。问题?我对问题本身的理解..我已经提到
应该是:
1(a)执行(N’CreateMyDynamicStoredProcedure’)-成功返回0
1(b) 执行(N’MyDynamicStoredProcedure’)-成功返回0
我错过了1(b)实际上在其他地方并且在步骤(2)之后执行的情况。
(我应该去生活!)
EXECUTE是同步的。第二个比赛在第一个比赛之后进行。总是。
您是否有多个连接运行相同的代码?您正在使用对所有连接可见的全局临时表,因此它看起来像异步执行…