Tieni presente che questo non ha risposto alla domanda OP, era solo un'elaborazione sulla clausola MERGE.
Secondo MSDN
, "Se sono presenti due WHEN MATCHED
clausole, quindi è necessario specificare un UPDATE
azione e si deve specificare un DELETE
azione".
WHEN MATCHED THEN <merge_matched>
Specifica che tutte le righe di target_table che corrispondono alle righe restituite da <merge_search_condition>
e soddisfano qualsiasi condizione di ricerca aggiuntiva, vengono aggiornati o eliminati in base alla clausola MERGE
l'istruzione può avere al massimo due WHEN MATCHED
clausole.
Se vengono specificate due clausole, la prima clausola deve essere accompagnata da un AND <search_condition>
clausola. Per ogni data riga, il secondo WHEN MATCHED
clausola si applica solo se la prima non lo è. Se sono presenti due WHEN MATCHED
clausole, quindi è necessario specificare un UPDATE
azione e si deve specificare un'azione DELETE.
Fonte:MSDN
Spero che questo aiuti.