我正在尝试匹配源和目标数据库表中的表中的行。我能够删除dest表中存在但不存在于源表中的那一行。 但是,我还需要删除dest db中其他表中的依赖行。有没有办法在合并中实现这一目标。
合并声明如下所示。
MERGE Table1 as [Target]
using (select A,B,C,D,E,
F,G,H,I,J,K,L
from Source.dbo.Table1 as al
where al.H is null) AS [Source]
ON ([Target].A = [Source].B)
WHEN NOT MATCHED By TARGET THEN
INSERT(C,D,E,F,G)
VALUES([Source].C,[Source].D,[Source].E,[Source].F,[Source].G);
WHEN NOT MATCHED BY SOURCE THEN
DELETE;
见下图。
Source
DB0.dbo.Table1
ID IDID NAME
1 6 xyz
2 3 yzx
3 4 abc
4 5 lym
5 1 tes
Dest
Table1
ID IDID Name
1 6 xyz
2 3 yzx
3 4 abc
4 5 lym
5 1 tes
6 2 ads
Dependent Table
DB1.Dbo,Table2
IDID VALUE
1 BST
2 PL
3 NO
4 SS
5 DR
6 CR
7 LM
提前致谢。
答案 0 :(得分:2)