Bonjour à tous,
J'aimerais faire un merge "conditionnel"
Bref, je vous montre ce que j'aimerais faire par un exemple.
Malheureusement, cela ne fonctionne pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 MERGE INTO dwh.merge_test_ec2 m2 USING (select parcelid, hti, skp from dwh.merge_test_ec) m1 ON (m1.parcelid = m2.parcelid) WHEN MATCHED THEN CASE m1.hti IS NULL THEN (update set m2.comm = 'htinull') m1.skp IS NULL THEN (update set m2.comm = 'skpnull') ELSE (update set m2.comm = 'other') END CASE WHEN NOT MATCHED THEN INSERT (m2.parcelid,m2.htid,m2.kpscannd) VALUES (m1.parcelid,m1.hti,m1.skp)
Peux t-on mettre d'autre commande qu'un update dans le WHEN MATCHED THEN ?
Ou voyez-vous d'autre moyen ?
J'ai cherché sur Google mais il n'y a pas foule d'exemples différents sur le net.
Ceci reste un cas simple, que j'ai écrit pour tester ... au final ça devrait être qqchose de plus complexe ...
D'avance merci.
Partager