我有一张表TableKats
,如下所示:
ID - int
Name - varchar
KatID - int
我想要做的是从另一个表更新列Name
,如果另一个表中有一个TableKats
中不存在的名称,它应该插入并给出KatID
a 0
有人知道这样做的方法吗?感谢
答案 0 :(得分:2)
你可以使用MERGE来做,因为你的其他表模式是不可知的,假设Name也是其他表中的列
MERGE TableKats T
USING ( SELECT * from TableB) AS S
ON T.Name = S.Name
WHEN NOT MATCHED THEN
INSERT ( Name, KatID)
VALUES ( S.Name, 0)
WHEN MATCHED THEN
UDPATE -- Not clear what needs to be updated.