sql >> Base de Datos >  >> RDS >> Sqlserver

Declaración de actualización múltiple en SQL Server MERGE

Tenga en cuenta que esto no respondió a la pregunta de OP, solo fue una elaboración de la cláusula MERGE.

Según MSDN , "Si hay dos WHEN MATCHED cláusulas, entonces uno debe especificar un UPDATE acción y se debe especificar un DELETE acción".

WHEN MATCHED THEN <merge_matched>

Especifica que todas las filas de target_table que coincidan con las filas devueltas por ON <merge_search_condition> y satisfacen cualquier condición de búsqueda adicional, se actualizan o eliminan de acuerdo con la cláusula . El MERGE declaración puede tener como máximo dos WHEN MATCHED cláusulas.

Si se especifican dos cláusulas, la primera debe ir acompañada de un AND <search_condition> cláusula. Para cualquier fila dada, el segundo WHEN MATCHED la cláusula sólo se aplica si la primera no lo es. Si hay dos WHEN MATCHED cláusulas, entonces uno debe especificar un UPDATE y se debe especificar una acción DELETE.

Fuente:MSDN

Espero que esto ayude.