SQL SERVER
El caso más sencillo es cuando ambas tablas se encuentran dentro de la misma base de datos que pertenece a un mismo servidor.
INSERT INTO tabla_destino SELECT * FROM tabla_origen
La cantidad y tipo de datos de columnas deben coincidir tanto para la tabla origen como en la de destino (asímismo para los otros dos casos)
Ej:
INSERT INTO dbo.cfPrfl (cfEmprNcod,cfPrflNmbr) SELECT cfEmprNcod, dcPrsnNmbr FROM dcPrsn
Este es el caso medio, cuando se quiere insertar datos de una tabla a otra pero estas pertecenen a diferentes base de datos en un mismo servidor. En este caso, el usuario debe tener acceso a las dos base de datos.
INSERT INTO base_de_datos.dbo.tabla_destino SELECT * FROM base_de_datos.dbo.tabla_origen
Ej:
INSERT INTO UponERP.dbo.cfPais SELECT cfPaisNmbr FROM UponErpTestLizzy.dbo.cfPais
Y por último, este es el caso final. Cuando se desea insertar datos de una tabla a otra pero que ambas tablas están en diferentes base de datos y las cuales a su vez pertenecen a distintos servidor.
Para este caso, es necesario que el usuario tenga acceso a los dos servidores y a las dos base de datos
INSERT INTO servidor.base_de_datos.esquema.tabla_destino SELECT * FROM servidor.base_de_datos.esquema.tabla_origen
Ej:
INSERT INTO [DESARROLLO02\SQL2005].UponErpTestLizzy.dbo.cfBsAu SELECT * FROM [SRV-DB\SQL2005].UponErpTest.dbo.cfBsAu
Good Coding =)
muy bien !! gracias, probare la del varios servidores!!
ReplyDelete