Bitte beachten Sie, dass dies die OP-Frage nicht beantwortet hat, sondern nur eine Ausarbeitung der MERGE-Klausel war.
Gemäß MSDN
, "Wenn es zwei WHEN MATCHED
gibt -Klauseln, dann muss ein UPDATE
angegeben werden Aktion und man muss ein DELETE
angeben Aktion".
WHEN MATCHED THEN <merge_matched>
Gibt an, dass alle Zeilen von target_table mit den Zeilen übereinstimmen, die von <merge_search_condition>
zurückgegeben werden , und alle zusätzlichen Suchbedingungen erfüllen, werden gemäß der MERGE
-Anweisung darf höchstens zwei WHEN MATCHED
haben Klauseln.
Wenn zwei Klauseln angegeben werden, muss die erste Klausel von einem AND <search_condition>
begleitet werden Klausel. Für jede gegebene Zeile das zweite WHEN MATCHED
Klausel wird nur angewendet, wenn die erste nicht gilt. Wenn es zwei WHEN MATCHED
gibt -Klauseln, dann muss ein UPDATE
angegeben werden Aktion und man muss eine DELETE-Aktion angeben.
Quelle:MSDN
Hoffe das hilft.