SQL Server 2008 R2Serwer SQL (TSQL) - czy możliwe jest równoległe wykonywanie instrukcji EXEC?
Oto uproszczony przykład:
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)'
Pierwsze sprawozdanie zostanie wydrukowana data i opóźnienie 10 sekund przed przejściem. Druga instrukcja powinna zostać wydrukowana natychmiast.
Sposób działania T-SQL, drugie oświadczenie nie zostanie ocenione przed pierwszym zakończeniem. Jeśli skopiuję go i wkleję do nowego okna zapytania, zostanie natychmiast wykonany.
Problem polega na tym, że mam inne, bardziej złożone rzeczy, ze zmiennymi, które muszą zostać przekazane do obu procedur.
Co staram się zrobić to:
- Get rekord
- zablokować go na pewien okres czasu
- gdy jest zamknięty, należy wykonać kilka innych wypowiedzi przeciwko tej płycie i samej tabeli
Być może istnieje sposób, aby dynamicznie utworzyć kilka miejsc pracy?
W każdym razie, szukam prostego sposobu, aby to zrobić bez konieczności ręcznego drukowania instrukcji i kopiowania/wklejania do innej sesji.
Czy istnieje sposób na EXEC bez oczekiwania/równolegle?
Dynamiczna technika zadania może działać dobrze w asynchronicznym wykonywaniu instrukcji SQL. –