El comando MERGE en SQL Server se utiliza para combinar datos de varias tablas en una sola tabla. Es útil para actualizar o insertar datos en una tabla a partir de otra tabla o conjunto de datos.
Sintaxis básica del comando MERGE:
MERGE INTO [nombre_tabla_destino] USING [nombre_tabla_origen] ON [condición_de_unión] WHEN MATCHED THEN [acción_update] WHEN NOT MATCHED THEN [acción_insert]
Por ejemplo, si queremos actualizar la tabla «clientes» con los datos de la tabla «clientes_nuevos», podemos utilizar el siguiente comando:
MERGE INTO clientes USING clientes_nuevos ON clientes.id = clientes_nuevos.id WHEN MATCHED THEN UPDATE SET clientes.nombre = clientes_nuevos.nombre, clientes.direccion = clientes_nuevos.direccion WHEN NOT MATCHED THEN INSERT (id, nombre, direccion) VALUES (clientes_nuevos.id, clientes_nuevos.nombre, clientes_nuevos.direccion);
En este ejemplo, el comando combina los datos de las tablas «clientes» y «clientes_nuevos» utilizando el campo «id» como clave de unión. Si el «id» existe en ambas tablas, se actualizan los campos «nombre» y «direccion» en la tabla «clientes». Si el «id» no existe en la tabla «clientes», se inserta un nuevo registro en la tabla «clientes» con los datos de la tabla «clientes_nuevos».
Es importante tener copias de seguridad de las tablas involucradas antes de ejecutar el comando, ya que puede tener un impacto importante en los datos.