Bouclage T-SQL dans les résultats de la requête
Supposons que vous ayez une requête qui récupère une liste d'ID à partir d'une table :
SELECT @id=table.id FROM table
Vous devez ensuite exécuter une procédure stockée pour chaque ligne, en passant l'ID et un autre value :
EXEC stored_proc @varName=@id, @otherVarName='test'
En T-SQL, vous pouvez accomplir cela en utilisant un CURSEUR :
DECLARE @id INT DECLARE @name NVARCHAR(100) DECLARE @getid CURSOR SET @getid = CURSOR FOR SELECT table.id, table.name FROM table OPEN @getid FETCH NEXT FROM @getid INTO @id, @name WHILE @@FETCH_STATUS = 0 BEGIN EXEC stored_proc @varName=@id, @otherVarName='test', @varForName=@name FETCH NEXT FROM @getid INTO @id, @name END CLOSE @getid DEALLOCATE @getid
Dans ce script :
Ce script vous permet de parcourir les résultats de la requête et d'exécuter la procédure stockée pour chaque ligne, en mettant à jour les noms et les valeurs des variables en fonction des données de la requête.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!