我试图从一个表中选择一些字段,并将它们插入到存储过程中的现有表中。这是我正在尝试的:
SELECT col1, col2
INTO dbo.TableTwo
FROM dbo.TableOne
WHERE col3 LIKE @search_key
我认为SELECT ... INTO ...
是针对临时表的,这就是为什么我得到一个dbo.TableTwo
已经存在的错误的原因。
如何从插入多行dbo.TableOne
成dbo.TableTwo
?
29
既然您已经接受了答案,我只想提供一个注释:Select Into不是“用于临时表”,而是用于基于查询的select部分的结构(和数据)创建新表。 。对于表X,最多只能选择1次*,之后,您需要使用Insert Into附加任何数据。*如果该表已经存在,则为零次。当然这是除非您先删除表。
—
pinkfloydx33
但请注意,Select Into不会复制索引/主键/外键约束,因此会留下未索引的堆-o-数据。这对于快速的开发工作很有用,但对于添加/移动实际生产表的方式却不是。
—
Graham Griffiths 2013年
只需运行以下语句“ drop table tabletwo;” 并在查询上方运行。选择... into不适用于临时表。
—
Shiwangini