插入<x> select * from <y>导致错误:无效的对象名称'<y>'

时间:2017-08-27 18:33:26

标签: sql-server

  

Microsoft SQL Server 2016(SP1)(KB3182545) - 13.0.4001.0(X64)10月   28 2016 18:17:30版权所有(c)Microsoft Corporation Express   Windows 10 Pro 6.3上的版本(64位)(Build 15063:)   (管理程序)

我创建一个全新的数据库,插入一些行,然后:

select * from table_1   
--> Query executed successfully, 50 rows

insert into table_2 select * from table_1   
--> Invalid object name 'table_2'

我做错了吗?

2 个答案:

答案 0 :(得分:1)

SELECT INTO仅在指定的表不存在时有效,因此在您的情况下,如果_table_2_不存在,则:

SELECT * INTO table_2 FROM table_1; 

如果存在table_2,则:

INSERT INTO table_2 SELECT (Col1, Col2, ..) FROM table_1;

答案 1 :(得分:0)

我是个白痴。

正确的语法是:

select * into [table_2] from table_1