如何将一行从一个SQL Server表复制到另一个

时间:2020-03-05 18:51:40  来源:igfitidea点击:

我有两个相同的表,需要将表中的行复制到另一个表中。最好的方法是什么? (我需要以编程方式仅复制几行,而无需使用批量复制实用程序)。

解决方案

回答

SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >

回答

只要没有标识列,我们就可以

INSERT Table2
SELECT * FROM Table1
WHERE [Conditions]

回答

替代语法:

INSERT tbl (Col1, Col2, ..., ColN)
  SELECT Col1, Col2, ..., ColN
  FROM Tbl2
  WHERE ...

选择查询可以(当然)包括表达式,case语句,常量/文字等。

回答

INSERT INTO DestTable
SELECT * FROM SourceTable
WHERE ...

在SQL Server中工作

回答

Jarrett的答案将创建一个新表。

Scott的答案将插入具有相同结构的现有表中。

我们也可以插入具有不同结构的表中:

INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]