【发布时间】:2010-09-08 14:26:05
【问题描述】:
我有两个相同的表,需要将行从表复制到另一个表。最好的方法是什么? (我只需要以编程方式复制几行,不需要使用批量复制实用程序)。
【问题讨论】:
标签: sql sql-server
我有两个相同的表,需要将行从表复制到另一个表。最好的方法是什么? (我只需要以编程方式复制几行,不需要使用批量复制实用程序)。
【问题讨论】:
标签: sql sql-server
SELECT * INTO < new_table > FROM < existing_table > WHERE < clause >
【讨论】:
SELECT * INTO [SQLTEST].[dbo].[EMPLOYEES] FROM [SQLPROD].[dbo].[EMPLOYEES]
只要没有身份列就可以了
INSERT INTO TableNew
SELECT * FROM TableOld
WHERE [Conditions]
【讨论】:
SET IDENTITY_INSERT < table > ON(和SET IDENTITY_INSERT < table > OFF)来暂时禁用您要插入的表上的标识列。为我工作,试图在数据集中间恢复一些丢失的记录。
替代语法:
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]
【讨论】:
只选择几行..这将像魅力一样工作..
SELECT TOP 10 *
INTO db2.dbo.new_table
FROM db1.dbo.old_table;
注意:只需在所需的数据库中创建一个新表。我们不需要定义它的结构。
【讨论】: