Zwykle nie można uniknąć pętli, ponieważ wywołujesz EXEC, co nie może być wykonane jako operacja oparta na SET; należy to zrobić jeden po drugim.
Jeśli chcesz ogólnie uniknąć CURSOR, możesz zaimplementować go za pomocą pętli WHILE.
W przeciwnym razie inną opcją jest użycie instrukcji SELECT + FOR XML, która buduje instrukcje EXEC jako pojedynczą instrukcję NVARCHAR(MAX) w zmienną, a następnie EXEC tylko w tym dynamicznym SQL.