bootchoz
Messages postés88Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention17 septembre 2006
-
2 août 2006 à 11:39
bootchoz
Messages postés88Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention17 septembre 2006
-
11 août 2006 à 14:45
existe-t-il un equivalent de foreach en SQL ?
je fais une selection sur une table et pour chaque resultat je traite un update sur une autre table de la base.
foreach (id_role in (select role.id_role from formulaire, proposer_role, role, etre_attribue where formulaire.id_form=proposer_role.id_form and proposer_role.id_role=role.id_role and role.id_role=etre_attribue.id_role and [mailto:etre_attribue.id_pers=@id_pers etre_attribue.id_pers=@id_pers] and [mailto:formulaire.id_form=@id_form formulaire.id_form=@id_form]))
begin
UPDATE etre_attribue
SET[mailto:date_sup=@date_dup date_sup=@date_dup]
end
merci de votre aide...
cs_skweeky
Messages postés259Date d'inscriptionmercredi 3 mai 2006StatutMembreDernière intervention11 janvier 20108 2 août 2006 à 14:20
Il n'y a pas de foreach en T-SQL sur SQL Server et pas non plus de boucles FOR.
Pour faire ce que tu explique plus haut, soit on utilise un curseur, mais qui en général est une solution particulièrement lente...
Ou on modifie la requête :
bootchoz
Messages postés88Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention17 septembre 2006 2 août 2006 à 14:31
merci de ton attention mais la subquery retourne plusieurs valeurs. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.
bootchoz
Messages postés88Date d'inscriptionmardi 3 mai 2005StatutMembreDernière intervention17 septembre 2006 11 août 2006 à 14:45
une autre petite question, je voudrais inserer des données dans une table provenant d'1 select qui retourne pulsieurs tuples. je bloque encore :
INSERT INTO table_virtuel (id_role) VALUES
(SELECT role.id_role FROM personne, etre_attribue, role,proposer_role, formulaire WHERE personne.id_pers=etre_attribue.id_pers AND etre_attribue.id_role=...)
vous sauriez m'aider ?