我想使用 MERGE 将来自不同数据库的 2 个表合并到一个表中。两个数据库都在同一台服务器上。
目前,我可以执行以下操作:
USE Northwind2
SELECT a.CategoryID
FROM Northwind.dbo.Categories a
INNER JOIN Northwind2.dbo.Categories b ON a.CategoryID = b.CategoryID
但是,我需要将结果合并到一个表中。我以为我可以做这样的事情:
USE Northwind2
MERGE INTO Categories B
USING (
SELECT E.CategoryID
FROM Northwind.dbo.Categories) E
ON (B.CategoryID = E.CategoryID)
WHEN MATCHED THEN
//update the table
WHEN NOT MATCHED THEN
//insert into the table
这将返回一个错误,说明如下:
Msg 10739, Level 15, State 1, Line 10
MERGE 语句中使用的插入列列表不能包含多部分标识符。请改用单部分标识符。
我不确定如何删除多部分标识符并且仍然可以进行这项工作......因为我需要定义我们正在查看的数据库。
关于如何解决这个问题的任何想法?任何帮助,将不胜感激