Upozorňujeme, že toto není odpověď na otázku OP, jedná se pouze o rozpracování klauzule MERGE.
Podle MSDN
, "Pokud existují dva WHEN MATCHED klauzule, pak je třeba zadat UPDATE akce a jeden musí zadat DELETE akce".
WHEN MATCHED THEN <merge_matched>
Určuje, že všechny řádky cílové_tabulky, které odpovídají řádkům vráceným <merge_search_condition> a splňují všechny další podmínky vyhledávání, jsou buď aktualizovány nebo odstraněny podle klauzule MERGE příkaz může mít maximálně dva WHEN MATCHED klauzule.
Pokud jsou zadány dvě klauzule, musí být první klauzule doprovázena AND <search_condition> doložka. Pro každý daný řádek druhý WHEN MATCHED klauzule se použije pouze v případě, že první není. Pokud existují dva WHEN MATCHED klauzule, pak je třeba zadat UPDATE action a jeden musí specifikovat akci DELETE.
Zdroj:MSDN
Doufám, že to pomůže.