考虑这种情况:
case when 4 > 3 then dbms_output.put_line('3');
when 4 > 2 then dbms_output.put_line('2');
when 4 > 1 then dbms_output.put_line('1');
end case;
输出是什么?它会回应所有三个陈述吗?如果可以的话,我如何在pl / sql中断开开关案例?
答案 0 :(得分:2)
一旦发现条件为真,case语句将返回结果,不再评估条件。可以找到进一步的解释here。
case语句的语法是:
CASE [表达]
当条件_1结果_1
时当条件_2结果_2
时...
WHEN condition_n THEN result_n
ELSE结果
END
表达式是可选的。它是您与条件列表进行比较的值。 (即:condition_1,condition_2,... condition_n)
condition_1到condition_n必须都是相同的数据类型。条件按列出的顺序评估。一旦发现条件为真,case语句将返回结果,而不再评估条件。
result_1到result_n必须都是相同的数据类型。一旦发现条件为真,这就是返回的值。