Utilisation de l'instruction MERGE
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 :
Code:
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; |
En gros, je voudrais savoir si je peux exécuter un UPDATE dans la clause 'WHEN NOT MATCHED' au lieu d'un INSERT.