我有两个相同的表,需要将表中的行复制到另一个表中。最好的方法是什么?(我需要以编程方式仅复制几行,而无需使用批量复制实用程序)。
Answers:
只要没有标识列,您就可以
INSERT INTO TableNew
SELECT * FROM TableOld
WHERE [Conditions]
SET IDENTITY_INSERT < table > ON
(和SET IDENTITY_INSERT < table > OFF
)来暂时禁用您要插入到的表上的标识列。为我工作,试图恢复数据集中的一些缺失记录。
Jarrett的答案将创建一个新表。
Scott的答案将插入具有相同结构的现有表中。
您也可以插入具有不同结构的表中:
INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
SELECT * INTO [SQLTEST].[dbo].[EMPLOYEES] FROM [SQLPROD].[dbo].[EMPLOYEES]