88 votes

T-SQL boucle sur les résultats de la requête

Je lance une requête select @id=table.id from table et j'ai besoin de boucler sur les résultats pour pouvoir exécuter une procédure de stockage pour chaque ligne exec stored_proc @varName=@id,@otherVarName='test'

Comment puis-je faire cela dans un script T-SQL ?

-1voto

Essayez ceci :

declare @i tinyint = 0,
    @count tinyint,
    @id int,
    @name varchar(max)

select @count = count(*) from table
while (@i < @count)
begin
    select @id = id, @name = name from table
    order by nr asc offset @i rows fetch next 1 rows only

    exec stored_proc @varName = @id, @otherVarName = 'test', @varForName = @name

    set @i = @i + 1
end

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X