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

时间:2008-09-11 17:42:12

标签: sql sql-server

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

5 个答案:

答案 0 :(得分:103)

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

INSERT Table2
SELECT * FROM Table1
WHERE [Conditions]

答案 1 :(得分:68)

替代语法:

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

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

答案 2 :(得分:39)

Jarrett的回答创建了一个新表。

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

您还可以插入具有不同结构的表格:

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

答案 3 :(得分:6)

INSERT INTO DestTable
SELECT * FROM SourceTable
WHERE ... 

适用于SQL Server

答案 4 :(得分:5)

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