我有两个包含所有相同表的数据库。所以我试图将数据从一个数据库中的一个表复制到另一个数据库中的同一个表。
我收到此错误'数据库中已经有一个名为'PayComponents'的对象。
不确定另一种方式来实现我想要的
SELECT * INTO [PSD2394].DBO.PayComponents
FROM [PSD1346].DBO.PayComponents
WHERE PCompID != 1 AND PCompID != 2
预期结果 - 来自DB - PSD1346的所有记录,除非将PCompID = 1和2插入到DB中的PayComponents表中 - PSD2394
SELECT INTO每次都会创建一个新表,如果这是您想要的,那么您需要先删除该表。
要附加到现有表中,您需要使用INSERT INTO SELECT,就像这个例子一样
INSERT * INTO [PSD2394].DBO.PayComponents (column names...)
SELECT pc.column names...
FROM [PSD1346].DBO.PayComponents pc
WHERE pc.PCompID != 1
AND pc.PCompID != 2
如果[PSD2394].DBO.PayComponents
的主键是标识字段,则无法复制它,因为数据库不允许您在标识字段中编写自己的值。
如果你真的需要,试试这个
SET IDENTITY_INSERT [PSD2394].DBO.PayComponents ON
do the insert statement here...
SET IDENTITY_INSERT [PSD2394].DBO.PayComponents OFF