Quiero una consulta para insertar registros de una tabla a otra tabla en una base de datos diferente si la tabla de destino ya existe, debería agregar los registros al final de la tabla.
sql
sql-server-2005
integration
append
naveenkumar
fuente
fuente
¿Cómo insertar valores de tabla de un servidor / base de datos a otra base de datos?
1 Creación de servidores vinculados {si es necesario} (SQL Server 2008 R2 - 2012) http://technet.microsoft.com/en-us/library/ff772782.aspx#SSMSProcedure
2 configure el servidor vinculado para usar Credenciales a) http://technet.microsoft.com/es-es/library/ms189811(v=sql.105).aspx
- VER SERVIDORES
SELECT * FROM sys.servers
- PRUEBA DE SERVIDORES VINCULADOS
INSERTAR EN LA NUEVA MESA LOCAL
SELECT * INTO NEWTABLE FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
O
INSERTAR COMO NUEVOS VALORES EN TABLA REMOTA
INSERT INTO [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE SELECT * FROM localTABLE
INSERTAR COMO NUEVOS VALORES DE TABLA LOCAL
INSERT INTO localTABLE SELECT * FROM [LINKEDSERVER\INSTANCE].remoteDATABASE.remoteSCHEMA.remoteTABLE
fuente
He aquí un método rápido y sencillo:
CREATE TABLE database1.employees AS SELECT * FROM database2.employees;
fuente
--Code for same server USE [mydb1] GO INSERT INTO dbo.mytable1 ( column1 ,column2 ,column3 ,column4 ) SELECT column1 ,column2 ,column3 ,column4 FROM [mydb2].dbo.mytable2 --WHERE any condition /* steps- 1- [mydb1] means our opend connection database 2- mytable1 the table in mydb1 database where we want insert record 3- mydb2 another database. 4- mytable2 is database table where u fetch record from it. */ --Code for different server USE [mydb1] SELECT * INTO mytable1 FROM OPENDATASOURCE ( 'SQLNCLI' ,'Data Source=XXX.XX.XX.XXX;Initial Catalog=mydb2;User ID=XXX;Password=XXXX' ).[mydb2].dbo.mytable2 /* steps - 1- [mydb1] means our opend connection database 2- mytable1 means create copy table in mydb1 database where we want insert record 3- XXX.XX.XX.XXX - another server name. 4- mydb2 another server database. 5- write User id and Password of another server credential 6- mytable2 is another server table where u fetch record from it. */
fuente
Puedes probar
Insert into your_table_in_db1 select * from your_table_in_db2@db2SID
db2SID es el sid de otra base de datos. Estará presente en el archivo tnsnames.ora
fuente
INSERT INTO remotedblink.remotedatabase.remoteschema.remotetable SELECT * FROM mytable
No existe tal cosa como "el final de la tabla" en las bases de datos relacionales.
fuente
Si ambas tablas tienen el mismo esquema, utilice esta consulta: insertar en nombre_base_datos.nombre_tabla seleccione * de nombre_base_datos nuevo.nombre_tabla_nuevo donde = 'condición'
Reemplace database_name con el nombre de su primera base de datos y table_name con el nombre de la tabla desde la que desea copiar también reemplace new_database_name con el nombre de su otra base de datos donde desea copiar y new_table_name es el nombre de la tabla.
fuente
Simplemente hazlo.....
(Creará la misma estructura de tabla que la de la tabla que la tabla con los mismos datos)
create table toDatabaseName.toTableName as select * from fromDatabaseName.fromTableName;
fuente
Para SQL Server, puede utilizar la herramienta Importar datos de otra base de datos. Es más fácil configurar las columnas de asignación.
fuente
Principalmente necesitamos este tipo de consulta en el script de migración.
INSERT INTO db1.table1(col1,col2,col3,col4) SELECT col5,col6,col7,col8 FROM db1.table2
En esta consulta, el recuento de columnas debe ser el mismo en ambas tablas
fuente