MERGE を使用して、異なるデータベースの 2 つのテーブルを 1 つのテーブルにマージしたいと考えています。両方のデータベースが同じサーバー上にあります。
現在、次のことができます。
USE Northwind2
SELECT a.CategoryID
FROM Northwind.dbo.Categories a
INNER JOIN Northwind2.dbo.Categories b ON a.CategoryID = b.CategoryID
ただし、結果を 1 つのテーブルにマージする必要があります。私はこのようなことができると思いました:
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
これにより、次のエラーが返されます。
メッセージ 10739、レベル 15、状態 1、行 10
MERGE ステートメントで使用される挿入列リストには、マルチパート識別子を含めることはできません。代わりに、単一部分の識別子を使用してください。
マルチパート識別子を削除して、まだこの作業を行う方法がわかりません...どのデータベースを調べているかを定義する必要があるためです。
これを回避する方法についてのアイデアはありますか? どんな助けでもいただければ幸いです