问题描述
我是 snaplogic 的新手。我在 sql Server 中有 2 个表(A,B),如下所示。我需要根据B中numberID的存在,将A表中的数据插入到B表中。
- 如果 B 中存在 A 的 numberID,我需要更新 B 中的名称。
- 如果 B 中不存在 A 的 numberID,我必须在表 B 中插入该行。
我想知道如何进行大小写分离。我想使用路由器或条件快照,但我不明白如何将它们与 sql 查询的结果一起使用。我需要帮助。
解决方法
您可以使用合并功能
MERGE INTO B AS Target
USING (select * from A)
AS Source
ON Target.id = Source.id
WHEN MATCHED THEN
UPDATE SET B.Name = Source.Name
WHEN NOT MATCHED BY TARGET THEN
INSERT (Name) VALUES (source.NewName)
https://docs.microsoft.com/en-us/sql/t-sql/statements/merge-transact-sql?view=sql-server-ver15