Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como posso evitar o uso do Cursor para implementar este pseudo código - SQL Server


Normalmente, você não pode evitar o loop, pois está chamando EXEC, o que não pode ser feito como uma operação baseada em SET; tem que ser feito um por um.

Se você quer apenas evitar o CURSOR em geral, você pode implementá-lo usando um loop WHILE.

Caso contrário, outra opção é usar uma instrução SELECT + FOR XML que constrói as instruções EXEC como uma única instrução NVARCHAR(MAX) em uma variável, então EXEC apenas esse SQL dinâmico.