我有一个临时表,在那里我更改了数据库中的一些值,并试图将这些值插入到实际表中,但它不起作用
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…)。使用其他名称进行检查,或者检查是否需要现有对象,然后将其删除,然后使用查询或将其插入表中(如果临时表和现有对象结构相同,并且是表)。