Bonjour,
J'ai un petit souci.
J'insère des fichiers .txt dans une table TEST_TEMP qui n'a pas de clés primaires.
J'obtiens des doublons car des quantités différentes.
Colonnes de mes tables
code1, code2, code3, code4, code5, code6, date, qte1, qte2
J'ai une deuxième table identique TEST_DEST qui elle a dés clés primaires (CODE1, CODE2, CODE3, CODE4, CODE5, CODE6, DATE).
L'idée serait de mettre à jour la table TEST_DEST (sans doublons car il y a des clés primaires):
- si l'enregistrement n'existe pas => insert
- si l'enregistrement existe => update (en prenant en compte la dernière valeur qte1 et qte2 obtenue)
J'ai tenté un
J'obtiens une erreur SQL: ORA-30926 : unable to get a stable set of rows in the source tables.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 merge into TEST_DEST a using (select * from TEST_TEMP) b on (a.CODE1=b.CODE1 and a.CODE2=b.CODE2 and a.CODE3=b.CODE3 and a.CODE4=b.CODE4 and a.CODE5=b.CODE5 and a.CODE6=b.CODE6 and a.DATE=b.DATE) when matched then UPDATE set A.QTE1=B.QTE1,A.QTE2=B.QTE2 when not matched then insert (a.CODE1,a.CODE2,a.CODE3,a.CODE4,a.CODE5,a.CODE6,a.DATE,a.QTE1,a.QTE2) values (b.CODE1,b.CODE2,b.CODE3,b.CODE4,b.CODE5,b.CODE6,b.DATE,b.QTE1,b.QTE2);
Raison: il y a des doublons dans ma table TEST_TEMP mais ils sont nécessaires car je souhaite mettre à jour des quantités.
Si quelqu'un a une idée....
Merci d'avance pour votre aide.
Cordialement
Partager