Sql mettre à jour d'une table à partir d'une
hammag
-
DROE Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
DROE Messages postés 148 Date d'inscription Statut Membre Dernière intervention -
Bounjour tout le monde,
Quelqu'un pourrait-il m'aider pour développer la requête suivante :
J'ai deux tables : tab1 et tab2 qui ont la même structure (clés et champs)
Tab1(clé1,clé2, champ1, champ2 ...)
Tab2(clé1,clé2, champ1, champ2 ...)
Je cherche à mettre à jour des champs de tab2 à partir de tab1, le but de la requête est :
Si une ligne dans la table tab1 existe dans la table tab2 alors
Mettre à jour trois champs de la table tab2 avec les valeurs de ces mêmes champs à partir de tab1.
J'ai essayé cette requête :
je ne suis pas sûr si la requête est correcte
merci d'avance
Quelqu'un pourrait-il m'aider pour développer la requête suivante :
J'ai deux tables : tab1 et tab2 qui ont la même structure (clés et champs)
Tab1(clé1,clé2, champ1, champ2 ...)
Tab2(clé1,clé2, champ1, champ2 ...)
Je cherche à mettre à jour des champs de tab2 à partir de tab1, le but de la requête est :
Si une ligne dans la table tab1 existe dans la table tab2 alors
Mettre à jour trois champs de la table tab2 avec les valeurs de ces mêmes champs à partir de tab1.
J'ai essayé cette requête :
UPDATE tab2 B, tab1 A SET B.champ1 = A.champ1, B.champ1 = A.champ1, B.champ1 = A.champ1, WHERE AND A.cle1 = B.cle1 AND A.cle2 = B.cle2 AND (A.cle1 ,A.cle2) IN ( SELECT B.cle1 ,B.cle2 FROM tab2 B )
je ne suis pas sûr si la requête est correcte
merci d'avance
A voir également:
- Sql mettre à jour d'une table à partir d'une
- Mettre a jour chrome - Accueil - Applications & Logiciels
- Table ascii - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Comment faire une recherche à partir d'une photo - Guide
4 réponses
Bonjour,
J'aimerai savoir la base de données que tu utilises pour vouloir faire cette manipulation.
Merci
@+
J'aimerai savoir la base de données que tu utilises pour vouloir faire cette manipulation.
Merci
@+
Salut,
Sous Oracle ce serait du style :
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Sous Oracle ce serait du style :
UPDATE tab2 B SET (champ1, champ2, ... ) = (SELECT champ1, champ2, ... FROM tab1 A WHERE A.cle1 = B.cle1 and A.cle2 = B.cle2 ) WHERE EXISTS (SELECT * FROM tab1 C WHERE C.cle1 = B.cle1 and C.cle2 = B.cle2 ) ;
cdlt
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Bonjour HAMMAG,
Essaie de voir aussi cette méthode
http://www.dba-ora.fr/article-update-tables-merge-into-60484725.html
Essaie de voir aussi cette méthode
SQL> MERGE INTO TAB2 A USING (SELECT CLE1, CLE2,CHAMP1 FROM TAB1) B ON (A.CLE1 = B.CLE1 AND A.CLE2=B.CLE2) WHEN MATCHED THEN UPDATE SET A.CHAMP1 = B.CHAMP1 ;
http://www.dba-ora.fr/article-update-tables-merge-into-60484725.html
Bonjour,
Intéressant cette commande, il y a longtemps que je ne fais plus de développement et je ne la connaissais pas.
Peut-on combiner sur la même commande when match et when not match ?
Intéressant cette commande, il y a longtemps que je ne fais plus de développement et je ne la connaissais pas.
Peut-on combiner sur la même commande when match et when not match ?
MERGE INTO TAB2 A USING (SELECT CLE1, CLE2,CHAMP1 FROM TAB1) B ON (A.CLE1 = B.CLE1 AND A.CLE2=B.CLE2) WHEN MATCHED THEN UPDATE SET A.CHAMP1 = B.CHAMP1 WHEN NOT MATCHED THEN INSERT CHAMP1 ...