Tengo dos tablas idénticas y necesito copiar filas de una tabla a otra. ¿Cuál es la mejor forma de hacerlo? (Necesito copiar programáticamente solo algunas filas, no necesito usar la utilidad de copia masiva).
sql
sql-server
rp.
fuente
fuente
SET IDENTITY_INSERT < table > ON
(ySET IDENTITY_INSERT < table > OFF
) para deshabilitar temporalmente la columna de identidad en la tabla en la que está tratando de insertar. Me funcionó al intentar restaurar algunos registros faltantes en medio del conjunto de datos.Sintaxis alternativa:
INSERT tbl (Col1, Col2, ..., ColN) SELECT Col1, Col2, ..., ColN FROM Tbl2 WHERE ...
La consulta de selección puede (por supuesto) incluir expresiones, declaraciones de casos, constantes / literales, etc.
fuente
La respuesta de Jarrett crea una nueva tabla.
La respuesta de Scott se inserta en una tabla existente con la misma estructura.
También puede insertar en una tabla con estructura diferente:
INSERT Table2 (columnX, columnY) SELECT column1, column2 FROM Table1 WHERE [Conditions]
fuente
INSERT INTO DestTable SELECT * FROM SourceTable WHERE ...
funciona en SQL Server
fuente
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
fuente
SELECT * INTO [SQLTEST].[dbo].[EMPLOYEES] FROM [SQLPROD].[dbo].[EMPLOYEES]