私は2つのテーブルを持っています:
表 1 :
ID ColA ColB Status
表 2 :
ColA ColB
次の方法で、表 2から表 1MERGE
に記録しようとしています。
- 表 1にある表 2のすべての行について、次のように設定します。
Status = 1
- 表 1 に存在しない表 2のすべての行について、その行を表 1に挿入して設定します。
Status = 1
- 表 2に存在しない表 1のすべての行について、設定
Status = 0
これを1つのステートメントで行うことは可能ですか?1
現在、私は達成でき2
ますが、3番目のものも取得する方法がわかりません:
MERGE INTO dbo.Table1 WITH(HOLDLOCK) AS Target
USING dbo.Table2 AS Source
ON Target.ColA = Source.ColA AND Target.ColB = Source.ColB
WHEN MATCHED THEN
UPDATE SET Target.Status = 1
WHEN NOT MATCHED THEN
INSERT (ColA, ColB, Status) VALUES(Source.ColA, Source.ColB, 1);
3
同じステートメントで達成する方法について何か提案はありますか?