栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当使用多个WHEN MATCHED语句时,它们全部执行还是仅执行一个?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当使用多个WHEN MATCHED语句时,它们全部执行还是仅执行一个?

要回答您的问题,是的,它将只进行一次比赛然后中断。但是,如果您希望逻辑允许在更新中进行条件匹配,则该

CASE
语句对此非常有用。

像这样的例子:

MERGE INTO YourTableUSING (VALUES (1, 1, NULL), (0, 0, NULL), (0, 1, NULL), (1, 0, NULL))       T2 (a2,b2,c2)ON a = a2 AND b = b2WHEN MATCHED  THEN    UPDATe SET c =       CASE         WHEN a = 1 THEN 0        WHEN b = 1 THEN 1        ELSE NULL      END        WHEN NOT MATCHED THEN    INSERT (a, b) VALUES (a2, b2);SELECT * FROM YourTable ORDER BY a,b;
  • SQL小提琴演示

结果:

A   B   C--------------0   0   (null)0   1   11   0   01   1   0


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/612295.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号