Я два заявления EXEC TSQLTSQL сделать EXECUTE заявления синхронного
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 никогда не возвращается обратно.
Спасибо.
Update, Вот больше информации:
- Сначала выполнить создает глобальную временную таблицу и заполнит его из сложного запроса на выборку.
- Второй EXEC - это хранимая процедура CLR, которая генерирует динамический SP на основе переменных из недавно созданной и заполненной глобальной таблицы Temp.
Теперь второй EXEC, жалуется, что таблица Global Temp не найдена.
Update 2, Найден вопрос (и меня !!)
ГБН (и других) был упор на ответ. EXEC IS синхронно. Проблема? Мое понимание самой проблемы .. я упомянул
- EXECUTE (N'MyDynamicallyGeneratedStoredProcedure ') - возвращение 0 в случае успешного завершения
Это должно было быть:
1 (а) ВЫПОЛНИТЬ (N'CreateMyDynamicStoredProcedure ') - возвращает 0 при успешном завершении
1 (б) EXECUTE (N'MyDynamicStoredProcedure') - возвращение 0 в случае успеха
Я пропустил, что 1 (b) был фактически выполнен где-то в другом месте и после шага (2).
(я должен пойти получить жизнь !!)
Я подозреваю, что у вас есть другие проблемы. EXECUTE синхронно –
Вы имеете в виду «Sequential»? Команды будут Sequential ... – MatBailie
Согласитесь с Mitch. Не могли бы вы дать нам немного больше информации, пожалуйста? –