Inicio Programación

SQL – Actualizar datos de una tabla a otra en base a un campo

0


Ultima Actualización del Artículo: Ene 4, 2017

Query SQL para actualizar columnas de una tabla con datos de otra que se encuentra en distinta base de datos; Podemos realizar esto creando una tabla temporal en el destino con la información y realizar el update en base a esta.

Querys a utilizar

Query para realizar la copia a la tabla temporal

SELECT * INTO BDDestino.dbo.NombreTablaTemporal FROM BDFuente.dbo.TablaOrigen

Mas Información: Ver SQL – Copiar esquema de tabla y datos de una base de datos a otra

Query para actualizar

UPDATE TablaDestino 
SET TablaDestino.Columna1 = TablaOrigen.Columna1, 
TablaDestino.Columna2 = TablaOrigen.Columna2,
TablaDestino.Columna3 = TablaOrigen.Columna3,
... etc ...
FROM TablaOrigen, TablaDestino 
WHERE TablaOrigen.Campo = TablaDestino.Campo

Ejemplo:

Tengo dos bases de datos, el cual vamos a copiar la tabla completa a la base de datos destino.

Copiando

SELECT * INTO DarV2016.dbo.VT_ClientesTemp FROM DarV2010.dbo.VT_Clientes

Actualizando

Una vez terminado el proceso de copiado, actualizamos la informacion con el siguiente query.

Update VT_Clientes
SET VT_Clientes.Nombre = VT_ClientesTemp.Nombre,
VT_Clientes.Calle = VT_ClientesTemp.Calle,
VT_Clientes.NumeroInterior = VT_ClientesTemp.NumeroInterior,
VT_Clientes.NumeroExterior = VT_ClientesTemp.NumeroExterior,
VT_Clientes.Ciudad = VT_ClientesTemp.Ciudad,
VT_Clientes.CP = VT_ClientesTemp.CP,
VT_Clientes.Estado = VT_ClientesTemp.Estado,
VT_Clientes.Pais = VT_ClientesTemp.Pais,
VT_Clientes.Entidad = VT_ClientesTemp.Entidad,
VT_Clientes.RFC = VT_ClientesTemp.RFC,
VT_Clientes.CURP = VT_ClientesTemp.CURP,
VT_Clientes.PWD = VT_ClientesTemp.PWD,
VT_Clientes.Colonia = VT_ClientesTemp.Colonia,
VT_Clientes.ColoniaSagar = VT_ClientesTemp.ColoniaSagar,
VT_Clientes.EstadoSagar = VT_ClientesTemp.EstadoSagar,
VT_Clientes.Municipio = VT_ClientesTemp.Municipio,
VT_Clientes.AvisarTLC = VT_ClientesTemp.AvisarTLC,
From VT_Clientes, VT_ClientesTemp
Where VT_Clientes.Numero = VT_ClientesTemp.Numero

 

COMPARTIR
Mi nombre es Fernando, soy analista de sistemas actualmente trabajo en una empresa con mas de 200 empleados que utilizan equipo de computo al cual se les da soporte en el departamento. Uno de mis pasatiempos fuera de la empresa es escribir artículos para PortalMasTips donde documento los problemas, inquietudes y detalles interesantes que se presentan.

Deja un comentario...