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