Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Instrução de atualização múltipla no SQL Server MERGE


Observe que isso não respondeu à pergunta do OP, foi apenas uma elaboração da cláusula MERGE.

Conforme MSDN , "Se houver dois WHEN MATCHED cláusulas, então deve-se especificar um UPDATE ação e deve-se especificar um DELETE ação".
WHEN MATCHED THEN <merge_matched>

Especifica que todas as linhas de target_table que correspondem às linhas retornadas por ON <merge_search_condition> , e satisfazem qualquer condição de pesquisa adicional, são atualizados ou excluídos de acordo com a cláusula . O MERGE instrução pode ter no máximo dois WHEN MATCHED cláusulas.

Se duas cláusulas forem especificadas, a primeira cláusula deverá ser acompanhada por um AND <search_condition> cláusula. Para qualquer linha, o segundo WHEN MATCHED cláusula só é aplicada se a primeira não for. Se houver dois WHEN MATCHED cláusulas, então deve-se especificar um UPDATE ação e deve-se especificar uma ação DELETE.

Fonte:MSDN

Espero que isto ajude.