Veuillez noter que cela n'a pas répondu à la question OP, c'était juste une élaboration sur la clause MERGE.
Selon MSDN
, "S'il y a deux WHEN MATCHED
clauses, alors il faut spécifier un UPDATE
action et il faut spécifier un DELETE
action".
WHEN MATCHED THEN <merge_matched>
Spécifie que toutes les lignes de target_table qui correspondent aux lignes renvoyées par <merge_search_condition>
, et satisfont toute condition de recherche supplémentaire, sont soit mis à jour, soit supprimés conformément à la clause MERGE
instruction peut avoir au plus deux WHEN MATCHED
clauses.
Si deux clauses sont spécifiées, alors la première clause doit être accompagnée d'un AND <search_condition>
clause. Pour une ligne donnée, le second WHEN MATCHED
clause n'est appliquée que si la première ne l'est pas. S'il y a deux WHEN MATCHED
clauses, alors il faut spécifier un UPDATE
action et il faut spécifier une action DELETE.
Source :MSDN
J'espère que cela vous aidera.