Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/06/2011, 10h03   #1
Futur Membre du Club
 
Femme Audrey
Étudiant
Inscription : avril 2011
Messages : 71
Détails du profil
Informations personnelles :
Nom : Femme Audrey
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 71
Points : 17
Points : 17
Par défaut Correspondance INSERT INTO

Bonjour,

Voilà mon problème, j'aimerais faire une insertion dans une table via un formulaire. Mais, dans ce dernier, il faut entrer la fonction, et je dois aller trouver dans la table fonction le numéro correspondant pour l'insérer dans la table agent... et là je suis perdue, j'ai essayé ce qui suit (et plein d'autres choses...)
Rien à faire.

Code :
1
2
3
4
5
INSERT INTO agent
                      (matricule, id_fonction)
VALUES     ('ZHC424', F.id_fonction)
FROM         fonction AS F
WHERE     F.intitule_fonction = 'Directeur'
Si quelqu'un peut m'aider.

Merci d'avance.

Audrey
audrey1912 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 10h18   #2
Candidat au titre de Membre du Club
 
Homme Gratien
Inscription : octobre 2009
Messages : 65
Détails du profil
Informations personnelles :
Nom : Homme Gratien

Informations forums :
Inscription : octobre 2009
Messages : 65
Points : 11
Points : 11
Bonjour,

Il suffit de remplacer VALUES par SELECT :

Code :
1
2
3
4
5
6
 
INSERT INTO agent
                      (matricule, id_fonction)
SELECT     'ZHC424', F.id_fonction
FROM         fonction AS F
WHERE     F.intitule_fonction = 'Directeur'
Attention toutefois si la table fonction a plusieurs directeurs, alors cela insère plusieurs lignes. Il faut s'assurer que l'intitulé est unique (avec une contrainte par exemple)

A+
Batou69 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 17/06/2011, 10h45   #3
Membre chevronné
 
Inscription : juillet 2006
Messages : 1 194
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 1 194
Points : 746
Points : 746
Citation:
Envoyé par audrey1912 Voir le message
Bonjour,

Voilà mon problème, j'aimerais faire une insertion dans une table via un formulaire. Mais, dans ce dernier, il faut entrer la fonction, et je dois aller trouver dans la table fonction le numéro correspondant pour l'insérer dans la table agent... et là je suis perdue, j'ai essayé ce qui suit (et plein d'autres choses...)
Rien à faire.

Code :
1
2
3
4
5
INSERT INTO agent
                      (matricule, id_fonction)
VALUES     ('ZHC424', F.id_fonction)
FROM         fonction AS F
WHERE     F.intitule_fonction = 'Directeur'
Si quelqu'un peut m'aider.

Merci d'avance.

Audrey
La clause FROM n'existe que pour les DML UPDATE et DELETE.
Comme indiqué, vous pouvez par contre utiliser SELECT.
Sergejack est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h26.


 
 
 
 
Partenaires

Hébergement Web