考虑这种情况:
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 中的开关盒?
阅读文档。
一旦发现条件为真,case 语句将返回结果并且不再进一步评估条件。进一步的解释可以在这里找到。
case 语句的语法是:
案例[表达式]
当条件_1 那么结果_1
当条件_2 那么结果_2
...
当条件_n 那么结果_n
其他结果
结尾
表达式是可选的。这是您与条件列表进行比较的值。(即:条件_1,条件_2,...条件_n)
condition_1 到 condition_n 必须都是相同的数据类型。条件按列出的顺序进行评估。一旦发现条件为真,case 语句将返回结果并且不再进一步评估条件。
result_1 到 result_n 必须都是相同的数据类型。这是一旦发现条件为真时返回的值。