复制数据到另一个表

2021-12-02 00:00:00 sql sql-server-2008 sql-server

如何在 SQL Server 中将数据从一个表复制/追加到另一个具有相同架构的表中?

How to copy/append data from one table into another table with same schema in SQL Server?

假设有一个查询

select * 
into table1 
from table2 
where 1=1 

使用与table2相同的模式和数据创建table1.

which creates table1 with the same schema as well as data as in table2.

有没有像这样的简短查询,只将整个数据复制到一个已经存在的表中?

Is there any short query like this to only copy entire data only into an already existing table?

推荐答案

如果两个表真的是同一个架构:

If both tables are truly the same schema:

INSERT INTO newTable
SELECT * FROM oldTable

否则,您必须指定列名(如果您为所有列指定一个值并以与 newTable 相同的顺序选择列,则 newTable 的列列表是可选的 的架构):

Otherwise, you'll have to specify the column names (the column list for newTable is optional if you are specifying a value for all columns and selecting columns in the same order as newTable's schema):

INSERT INTO newTable (col1, col2, col3)
SELECT column1, column2, column3
FROM oldTable

相关文章