从另一个具有相同模式的表插入SQL

时间:2013-05-07 15:38:51

标签: sql sql-server-2008

Table1和Table2具有相同的模式,相同的列和相同的类型,Table2为空,而Table1有一些数据

Insert into Table2 values(Select * from Table1)

如何用sql语句传输数据?我认为语法在oracle中是有效的,但是如何处理sql-server

2 个答案:

答案 0 :(得分:6)

您可以省略values声明:

insert into table2
    select * from table1

也就是说,在这种情况下,您应该习惯于列出列名称,insertselect。列可以具有相同的名称和类型 - 但顺序不同。

答案 1 :(得分:0)

您可能想要删除表2,然后从table1执行select * into table2。这样您就可以保证具有相同的结构。因为当有人改变任何一个表的结构而不改变另一个表的结构时,插入将炸弹。