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

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

只要没有标识列,你就可以

INSERT Table2 SELECT * FROM Table1 WHERE [Conditions] 

其他语法:

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

select查询可以(当然)包括expression式,case语句,常量/文字等等。

Jarrett的答案创build了一个新表格。

斯科特的答案插入到具有相同结构的现有表格中。

您也可以插入不同结构的表格:

 INSERT Table2 (columnX, columnY) SELECT column1, column2 FROM Table1 WHERE [Conditions] 
 SELECT * INTO < new_table > FROM < existing_table > WHERE < clause > 
 INSERT INTO DestTable SELECT * FROM SourceTable WHERE ... 

在SQL Server中工作