SQL Server (TSQL) - Возможно ли параллельное выполнение инструкций EXEC?

SQL Server 2008 R2

Вот упрощенный пример:

EXECUTE sp_executesql N'PRINT ''1st '' + convert(varchar, getdate(), 126) WAITFOR DELAY ''000:00:10'''
EXECUTE sp_executesql N'PRINT ''2nd '' + convert(varchar, getdate(), 126)'

Первый оператор напечатает дату и задержит 10 секунд перед продолжением. Второй оператор должен напечатать немедленно.

Как работает T-SQL, второй оператор не будет оцениваться, пока не завершится первый. Если я скопирую и вставлю его в новое окно запроса, он будет выполнен немедленно.

Проблема в том, что у меня происходят другие, более сложные вещи, с переменными, которые необходимо передать обеим процедурам.

Я пытаюсь сделать следующее:

  • Получить запись
  • Заблокировать ее на время
  • , пока она заблокирована, выполнить некоторые другие операторы для этой записи и самой таблицы

Возможно есть ли способ динамически создать пару заданий?

В любом случае, я ищу простой способ сделать это без необходимости вручную печатать операторы PRINT и копировать / вставлять в другой сеанс.

7
задан Doug Molineux 31 December 2010 в 19:00
поделиться