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



我有一个临时表,在那里我更改了数据库中的一些值,并试图将这些值插入到实际表中,但它不起作用

SELECT * INTO dbo.PackageProduct FROM #PackageP

其中#PackageP是我的临时表

我在第二次运行后得到这个错误:

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

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

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

TRY

INSERT INTO dbo.PackageProduct SELECT * FROM #PackageP

假设两个表中的列数和顺序相同,请尝试以下操作:

INSERT INTO dbo.PackageProduct
SELECT *
FROM #PackageP

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

最新更新