如何复制/追加数据从一个表到另一个表与SQL Server相同的模式?
编辑:
假设有一个查询
select *
into table1
from table2
where 1=1
它使用与table2相同的模式和数据创建table1。
是否存在这样的短查询,只将整个数据复制到一个已经存在的表中?
如何复制/追加数据从一个表到另一个表与SQL Server相同的模式?
编辑:
假设有一个查询
select *
into table1
from table2
where 1=1
它使用与table2相同的模式和数据创建table1。
是否存在这样的短查询,只将整个数据复制到一个已经存在的表中?
当前回答
试试这个:
INSERT INTO MyTable1 (Col1, Col2, Col4)
SELECT Col1, Col2, Col3 FROM MyTable2
其他回答
将所有列从一个表复制到另一个表:
INSERT INTO table2
SELECT * FROM table1
WHERE condition;
只从一个表复制一些列到另一个表:
INSERT INTO table2 (column1, column2, column3, ...)
SELECT column1, column2, column3, ...
FROM table1
WHERE condition;
你可以通过执行以下命令复制或“克隆”一个表的内容:
CREATE TABLE new_table AS SELECT * FROM original_table;
试试这个:
INSERT INTO MyTable1 (Col1, Col2, Col4)
SELECT Col1, Col2, Col3 FROM MyTable2
如果两个表确实是相同的模式:
INSERT INTO newTable
SELECT * FROM oldTable
否则,你必须指定列名(newTable的列列表是可选的,如果你为所有列指定一个值,并以与newTable的模式相同的顺序选择列):
INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable
INSERT INTO DestinationTable(SupplierName, Country)
SELECT SupplierName, Country FROM SourceTable;
列名不一定相同。
下面是正确的做法:
INSERT INTO destinationTable
SELECT * FROM sourceTable