相关疑难解决方法(0)

当使用多个WHEN MATCHED语句时,它们都执行,还是只执行一个?

如果我在MERGE语句中有多个WHEN MATCHED语句,如果它们是真的,它们都会执行吗?

我的例子:

DECLARE @X bit = NULL;

--skipping the MERGE statement, straight to WHEN MATCHED

WHEN MATCHED AND A = 1
    @X = 0;
WHEN MATCHED AND B = 1
    @X = 1;
Run Code Online (Sandbox Code Playgroud)

在4种可能性中,X的状态是什么?

A|B|X
0|0|?
0|1|?
1|0|?
1|1|?
Run Code Online (Sandbox Code Playgroud)

基本上,我很好奇每个WHEN MATCHED条款后是否有隐含的BREAK.

sql t-sql database sql-server merge

18
推荐指数
2
解决办法
4万
查看次数

标签 统计

database ×1

merge ×1

sql ×1

sql-server ×1

t-sql ×1