如何将一个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中工作
- PostgreSQL通配符LIKE用于任何一个单词列表
- “select * from table”vs“select colA,colB,etc. from table”SQL Server 2005中有趣的行为
- 在文本或ntext数据types上替代REPLACE
- 如何在不使用游标的情况下计算SQL中的运行总数?
- 在MySQL中SELECT DISTINCT或GROUP BY更快吗?
- 每次连接德比数据库时,是否需要创build表格?
- 如何在WHERE子句中区分大小写的search(我正在使用SQL Server)?
- MySQL从600K行中快速select10个随机行
- 如何修改PostgreSQL数据库表中列的位置?