将#Temp表中的内容插入到真实表中

时间:2014-09-04 15:08:42

标签: sql sql-server ssms

我有一个临时表,我已经在数据库中更改了一些值,并且我试图将这些值插回实际表中,但它无法正常工作我在下面有这个:

SELECT * INTO dbo.PackageProduct FROM #PackageP

其中#PackageP是我的临时表

第二次运行后我收到此错误:

There is already an object named 'PackageProduct' in the database.

4 个答案:

答案 0 :(得分:4)

如果该表已存在,则必须使用INSERT,因为SELECT...INTO会创建一个新表:

INSERT dbo.PackageProduct (<columns...>)
SELECT (<columns...>) FROM #PackageP

答案 1 :(得分:1)

尝试

INSERT INTO dbo.PackageProduct SELECT * FROM #PackageP

答案 2 :(得分:0)

假设您在两个表中都有相同的数字和列顺序,请尝试:

INSERT INTO dbo.PackageProduct
SELECT *
FROM #PackageP

答案 3 :(得分:0)

如果你选择* into ...它将创建一个表,如果已经存在相同的名称,那么它将显示错误,并且错误清楚地标识已经有一个对象(table / view / proc ... )在数据库中。检查一些其他名称或检查现有对象是不是必需的然后删除它然后使用您的查询或将其插入表中(如果您的临时表和现有的对象结构是相同的,它是一个表)。