同じテーブルを持つ2つのデータベースがありますが、データは異なります。私は2番目のデータベースのテーブルからすべてのデータを取得し、最初のものの既存の値を更新したいと思います。
このようなエントリがない場合は、新しいエントリを挿入します。ここ は(動作しない)私のコードです:テーブルエイリアスを使用して別のデータベースのテーブルをUPSERTする
UPDATE tbl1
SET tbl1.Field1 = tbl2.Field1
FROM [test1].[dbo].[Table1] tbl1, [test2].[dbo].[Table1] tbl2
WHERE tbl1.Id = tbl2.Id
IF @@ROWCOUNT = 0
INSERT INTO tbl1 (tbl1.Id, tbl1.Field1)
VALUES ([test2].[dbo].[Table1].Id, [test2].[dbo].[Table1].Field1)
私はエラーメッセージを次のようしています。
メッセージ4104、レベル16、状態1、行9
マルチパート識別子 "test2.dbo.Table1.Id
" バインドできませんでした。メッセージ4104、レベル16、状態1、行9
マルチパート識別子「test2.dbo.Table1.Field1
」はバインドできませんでした。
問題はエイリアスの使用法が間違っていると思いますが、正確に何が間違っているのかわかりません。
作品のようなSTHを使用する必要があります!ありがとう! –