-2

我是 snaplogic 的新手。我在 SQL Server 中有 2 个表(A,B),如下所示。我需要根据 B 中 numberID 的存在,将表 A 中的数据插入表 B。

  • 如果 B 中存在 A 的 numberID,我需要更新 B 中的名称。
  • 如果 B 中不存在 A 的 numberID,我必须在表 B 中插入该行。

我想知道如何执行案例析取。我想使用路由器或条件快照,但我不明白如何将它们与 SQL 查询的结果一起使用。我需要帮助。

4

1 回答 1

2

你可以使用合并功能

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

于 2021-05-11T00:10:28.620 回答