首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Update with except语句

Update with except语句
EN

Stack Overflow用户
提问于 2012-09-17 23:33:32
回答 1查看 2.9K关注 0票数 0

这是我的问题

代码语言:javascript
复制
SELECT PageVisit_ID,TargetSite_ID FROM [A].Datawarehouse.mi.ctb_PageEvent WITH (NOLOCK)
 EXCEPT 
 SELECT PageVisit_ID ,TargetSite_ID FROM [B].Datawarehouse.mi.ctb_PageEvent WITH (NOLOCK)

这两个表来自两个服务器。我只需要在与上述查询结果匹配的[B].Datawarehouse.mi.ctb_PageEvent中更新[A].Datawarehouse.mi.ctb_PageEvent记录中的targetsite_id

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-17 23:46:06

尝尝这个

代码语言:javascript
复制
DECLARE @SummaryOfChanges TABLE(Change VARCHAR(20));

MERGE INTO [A].Datawarehouse.mi.ctb_PageEvent AS Target
USING ( SELECT PageVisit_ID ,TargetSite_ID FROM [B].Datawarehouse.mi.ctb_PageEvent WITH (NOLOCK)) AS SOURCE
ON Target.TargetSite_ID = Source.TargetSite_ID 
WHEN MATCHED THEN
    //UPDATE OR do nothing
WHEN NOT MATCHED BY TARGET THEN
    //INSERT 
OUTPUT $action INTO @SummaryOfChanges;

请参考SQL SERVER – Merge Operations – Insert, Update, Delete in Single Execution。我的解决方案只是给出了一个如何做到这一点的基本想法。它最初可能不会100%工作。一旦你理解了其中的逻辑,就可以调整它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12462560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档