Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Instruction de mise à jour multiple dans SQL Server MERGE

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 ON <merge_search_condition> , et satisfont toute condition de recherche supplémentaire, sont soit mis à jour, soit supprimés conformément à la clause . 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.