Bonjour,
Environnement SQLPlus d'Oracle.
Une table 'DESTINATION'(1) est remplit avec les données de deux autres tables 'CONT1'(2), 'CONT2'(3) la clé primaire étant USER_ID dans ces 3 tables. De plus le nombre de colonne entre ces 3 tables sont totalement différents
=> (1) a 14 colonnes issus de (2) et (3)
=> (2) a 7 colonnes
=> (3) a 12 colonnes
Cette première opération est réussie sans problème.
je souhaite faire un update des données de (1) dans (2) pour les données existantes
=> Cela marche nickel, je fait la meme chose pour la table (3)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 UPDATE USER_TST SET (USER_TST.USER_ALIAS) = ( SELECT USER.USER_ALIAS FROM USER WHERE USER_TST.USER_ID = USER.USER_ID ) WHERE (USER_TST.USER_ID) IN (SELECT USER.USER_ID FROM USER);
Voici la problématique :
Par contre des lignes supplémentaire sont présents dans (1) et inexistant dans (2) et (3), donc l'update ne les prends pas en compte. D'où la problématique
=> comment faire, dans l'idéal en une seule opération, un update/insert qui met à jour les données existantes de (1) dans (2), (3) d'une part, puis rajoute les nouvelles lignes de (1) dans (2) et (3) d'autre part.
ps : pour simplifier le problème on peut uniquement utiliser les tables (1) et (2).
J'espère avoir était assez claire sur mon problème et que vous allez savoir m'aider à le résoudre.
Merci
Partager