Bonjour à tous,
Je souhaite simplement avoir une information. Je viens d'avoir connaissance de l'instruction MERGE et j'aimerais savoir si je peux l'utiliser de la façon suivante :
En gros, je voudrais savoir si je peux exécuter un UPDATE dans la clause 'WHEN NOT MATCHED' au lieu d'un INSERT.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 --pour initialiser le code contrat 0715, on concatène à 0715 les derniers chiffres du code créance 0312 correspondant SET DecCodeContrat715 = '0715'||substr(DecCodeContrat312_C2,5,16); MERGE INTO decompte_poste D1 USING (select dec_code_contrat, dec_code_poste, dec_type_decompte, dec_code_client, dec_mt_poste, dec_mt_restant, dec_type_tiers, dec_code_tiers FROM decompte_poste) D2 ON (D1.dec_code_contrat = DecCodeContrat715 AND D1.dec_code_poste = DecCodePoste) WHEN MATCHED THEN UPDATE SET D1.dec_mt_poste = D1.dec_mt_poste + DecMtPoste, D1.dec_mt_restant = D1.dec_mt_restant + DecMtRestant; WHEN NOT MATCHED THEN UPDATE SET D1.dec_code_contrat = DecCodeContrat715;
Partager