Mam dwie identyczne tabele i muszę skopiować wiersze z tabeli do innej. Jaki jest najlepszy sposób, aby to zrobić? (Muszę programowo skopiować tylko kilka wierszy, nie muszę używać narzędzia do kopiowania zbiorczego).
sql
sql-server
rp.
źródło
źródło
SET IDENTITY_INSERT < table > ON
(iSET IDENTITY_INSERT < table > OFF
), aby tymczasowo wyłączyć kolumnę tożsamości w tabeli, do której próbujesz wstawić. Pracowałem dla mnie, próbując przywrócić kilka brakujących rekordów w środku zbioru danych.Alternatywna składnia:
INSERT tbl (Col1, Col2, ..., ColN) SELECT Col1, Col2, ..., ColN FROM Tbl2 WHERE ...
Zapytanie wybierające może (oczywiście) zawierać wyrażenia, opisy przypadków, stałe / literały itp.
źródło
Odpowiedź Jarretta tworzy nową tabelę.
Odpowiedź Scotta wstawia do istniejącej tabeli o tej samej strukturze.
Możesz również wstawić do tabeli o innej strukturze:
INSERT Table2 (columnX, columnY) SELECT column1, column2 FROM Table1 WHERE [Conditions]
źródło
INSERT INTO DestTable SELECT * FROM SourceTable WHERE ...
działa w SQL Server
źródło
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
źródło
SELECT * INTO [SQLTEST].[dbo].[EMPLOYEES] FROM [SQLPROD].[dbo].[EMPLOYEES]