Du kan normalt inte undvika looping eftersom du anropar EXEC, vilket inte kan göras som en SET-baserad operation; det måste göras en efter en.
Om du bara vill undvika CURSOR i allmänhet kan du implementera det med hjälp av en WHILE-loop.
Annars är ett annat alternativ att använda en SELECT + FOR XML-sats som bygger EXEC-satserna som en enda NVARCHAR(MAX)-sats till en variabel, sedan EXEC just den dynamiska SQL.