Tenga en cuenta que esto no respondió a la pregunta de OP, solo fue una elaboración de la cláusula MERGE.
Según MSDN
, "Si hay dos WHEN MATCHED
cláusulas, entonces uno debe especificar un UPDATE
acción y se debe especificar un DELETE
acción".
WHEN MATCHED THEN <merge_matched>
Especifica que todas las filas de target_table que coincidan con las filas devueltas por <merge_search_condition>
y satisfacen cualquier condición de búsqueda adicional, se actualizan o eliminan de acuerdo con la cláusula MERGE
declaración puede tener como máximo dos WHEN MATCHED
cláusulas.
Si se especifican dos cláusulas, la primera debe ir acompañada de un AND <search_condition>
cláusula. Para cualquier fila dada, el segundo WHEN MATCHED
la cláusula sólo se aplica si la primera no lo es. Si hay dos WHEN MATCHED
cláusulas, entonces uno debe especificar un UPDATE
y se debe especificar una acción DELETE.
Fuente:MSDN
Espero que esto ayude.