Let op:dit was geen antwoord op de OP-vraag, het was slechts een uitwerking van de MERGE-clausule.
Volgens MSDN
, "Als er twee zijn WHEN MATCHED
clausules, dan moet men een UPDATE
. specificeren actie en men moet een DELETE
specify opgeven actie".
WHEN MATCHED THEN <merge_matched>
Specificeert dat alle rijen van target_table die overeenkomen met de rijen die worden geretourneerd door <merge_search_condition>
, en voldoen aan eventuele aanvullende zoekvoorwaarde, worden ofwel bijgewerkt of verwijderd volgens de MERGE
statement mag maximaal twee WHEN MATCHED
. hebben clausules.
Als er twee clausules zijn opgegeven, moet de eerste clausule vergezeld gaan van een AND <search_condition>
clausule. Voor een bepaalde rij, de tweede WHEN MATCHED
clausule wordt alleen toegepast als de eerste dat niet is. Als er twee zijn WHEN MATCHED
clausules, dan moet men een UPDATE
. specificeren actie en men moet een DELETE-actie specificeren.
Bron:MSDN
Ik hoop dat dit helpt.