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».
MERGE en SQL Server para Insert, Delete y Update con dos tablas - Ejemplo práctico usando MERGE para sincronizar dos tablas, Insert, Update y Delete en un solo… 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.







