Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Istruzione di aggiornamento multiplo in SQL Server MERGE

Tieni presente che questo non ha risposto alla domanda OP, era solo un'elaborazione sulla clausola MERGE.

Secondo MSDN , "Se sono presenti due WHEN MATCHED clausole, quindi è necessario specificare un UPDATE azione e si deve specificare un DELETE azione".

WHEN MATCHED THEN <merge_matched>

Specifica che tutte le righe di target_table che corrispondono alle righe restituite da ON <merge_search_condition> e soddisfano qualsiasi condizione di ricerca aggiuntiva, vengono aggiornati o eliminati in base alla clausola . Il MERGE l'istruzione può avere al massimo due WHEN MATCHED clausole.

Se vengono specificate due clausole, la prima clausola deve essere accompagnata da un AND <search_condition> clausola. Per ogni data riga, il secondo WHEN MATCHED clausola si applica solo se la prima non lo è. Se sono presenti due WHEN MATCHED clausole, quindi è necessario specificare un UPDATE azione e si deve specificare un'azione DELETE.

Fonte:MSDN

Spero che questo aiuti.