begin process at 2010 03 18 17:39:49
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Divers

 > 

foreach en SQL ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

foreach en SQL ?

mercredi 2 août 2006 à 11:39:34 | foreach en SQL ?

bootchoz

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 etre_attribue.id_pers=@id_pers and formulaire.id_form=@id_form))
 begin
  UPDATE etre_attribue
  SETdate_sup=@date_dup
 end
merci de votre aide...

mercredi 2 août 2006 à 14:20:02 | Re : foreach en SQL ?

skweeky

Membre Club Administrateur CodeS-SourceS

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 :

UPDATE etre_attribue
SET date_sup =
@date_dup
WHERE id_role = ( 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 etre_attribue . id_pers = @id_pers and formulaire . id_form = @id_form
)

C'est plus rapide, plus propre, etc.

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
mercredi 2 août 2006 à 14:31:55 | Re : foreach en SQL ?

bootchoz

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.
mercredi 2 août 2006 à 15:53:49 | Re : foreach en SQL ?

skweeky

Membre Club Administrateur CodeS-SourceS
Remplace = par IN alors


Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
mercredi 2 août 2006 à 17:12:15 | Re : foreach en SQL ?

bootchoz

merci beaucoup Christian Robert ! en effet ca fonctionne tres bien !
vendredi 11 août 2006 à 14:45:35 | Re : foreach en SQL ?

bootchoz

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 ?



Cette discussion est classée dans : form, id, role, foreach, attribue


Répondre à ce message

Sujets en rapport avec ce message

inserer plusieurs tuples a la fois [ par bootchoz ] salut, c'est encore moi !j'ai une autre petite question, je voudrais inserer des données dans une table provenant d'1 select qui retourne pulsieurs tu erreur de syntaxe dans procédure stockée [ par bootchoz ] salut, c'est encore moi !j'ai une erreur de syntaxe dans ma procédure : j'ai essayé qqchose mais ca reste incorrect...il s'agit d'inserer dans la tabl set d'une variable retourne null [ par bootchoz ] salut !qu'est-ce qui ne va pas dans ma procédure ?quelqu'un peut m'aider ? pourquoi @id_pers vaut null apres le set ?merci d'avance...CREATE PROCEDURE help pour requete SQL [ par lenneth666 ] Voila j'ai une table avec les champs suivants : ens_id form_id mat_id annee_id nb ens_id,form_id et mat_id sont une clé composé de cette table. La INSERT a l'id qu'on vient de DELETE [ par Bassman ] Voila j'aimerais savoir sous mysql comment forcé l'insertion dès le "départ", c'est a dire, par exemple dans votre table utilisateur vous venez d'en s Problème d'ajout dans une table access à partir d'un formulaire access [ par asmainfo ] Bonjour tout le monde! J'ai un problème dans l'insertion dans ma table access ;aprés validation du formulaire juste le dernier enregistrement est sauv Probleme avec une requete [ par deadstar2 ] Bonjour à tous, Je n'ai pas un excellent niveau en sql, j'aimerais faire appel à vos connaissances pour une requete dont je n'arrive pas à obtenir ce requete sql complexe [ par nobull ] BonjourJ'ai une premiere tableCREATE TABLE `message` (  `id` smallint(6) NOT NULL auto_increment,  `nom` text NOT NULL,  `email` text NOT NULL,  `date Phpmyadmin ok pas access [ par LABAUDE ] Bonjour, Impossible de convertir la requete suivante fonctionnant avec phpmyadmin en requete pour un site en asp et une base access. Pouvez vous m'aid A l'aide, je n'ai toujours pas trouvé la solution... [ par LABAUDE ] Bonjour, Impossible de convertir la requete suivante fonctionnant avec phpmyadmin en requete pour un site en asp et une base access. Pouvez vous m'aid


Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales