Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je éviter d'utiliser le curseur pour implémenter ce pseudo-code - SQL Server

Vous ne pouvez normalement pas éviter de boucler puisque vous appelez EXEC, ce qui ne peut pas être fait comme une opération basée sur SET; il faut le faire un par un.

Si vous voulez simplement éviter CURSOR en général, vous pouvez l'implémenter en utilisant une boucle WHILE.

Sinon, une autre option consiste à utiliser une instruction SELECT + FOR XML qui construit les instructions EXEC comme une seule instruction NVARCHAR(MAX) dans une variable, puis EXEC uniquement ce SQL dynamique.