有两种方法可以将数据从一个表复制到另一个表。
1. First create a new table then using "
INSERT INTO TABLE2_NAME
SELECT * FROM TABEL1_NAME"
或者
2. SELECT * INTO TABLE2_NAME FROM TABLE1_NAME
我正在使用 SQL Server 2012。
有两种方法可以将数据从一个表复制到另一个表。
1. First create a new table then using "
INSERT INTO TABLE2_NAME
SELECT * FROM TABEL1_NAME"
或者
2. SELECT * INTO TABLE2_NAME FROM TABLE1_NAME
我正在使用 SQL Server 2012。
它们是不同的,因为第一个需要已经创建表,第二个也将创建表。
我敢打赌,读取 TABLE1_NAME 的执行计划将是相同的,第二个可能会慢几毫秒,因为它必须创建表。
现在要考虑的下一件事是创建表的位置。在第一个中,您可能已将表放在快速存储上,而在第二个中,它将转到可能会或可能不会优化的默认主存储。
如果一切都是平等的 - 那么它可能是一个不值得考虑的微优化。
INSERT INTO TABLE2_NAME SELECT * FROM TABEL1_NAME
创建 TABLE2_NAME 并在其中插入 TABEL1_NAME 的值。它更有效,但如果表已经创建,则该语句会出错。
SELECT * INTO TABLE2_NAME FROM TABLE1_NAME
唯一在 TABEL2_NAME 中插入 TABLE1_NAME 的值。