Exécuter une procédure stockée ayant une requête en paramètre

Comment puis-je exécuter le sp_1 pour chaque ProductId et get un set de résultats?

EXEC sp_1 (SELECT ID FROM Products) 

Essayez de cette façon. Aucune requête directe semble-t-il. exécuter sp pour chaque ligne

ou essayez ceci, faites de petits changements si nécessaire. Utilisez la table temporaire pour get des valeurs de sp. Utilisez le ci-dessous à l'intérieur d'un sp si nécessaire.

 begin declare @ID int declare @temp table (col1 int) declare cur cursor for select distinct ID from products open cur fetch next from cur into @ID truncate table @temp while(@@FETCH_STATUS=0) begin insert into @temp (<'cols/output from procedure'>) exec (@ID) end select * from @temp end 

Je voudrais stocker les ID dans une table temporaire et utiliser une boucle WHILE (ÉVITEZ CURSEURS!)

 DECLARE @prodid INT
 SELECT prodid, 0 tel que traité dans #prod_ids FROM Produits

 WHILE EXISTS (CHOISIR prodid DE #prod_ids WHERE Traite = 0)
 COMMENCER
      SELECT TOP 1 @prodid = prodid DE #prod_ids WHERE Traitée = 0
      EXEC sp_1 (@prodid)
      UPDATE #prod_ids SET Processed = 1 O WH prodid = @prodid
 FIN