Oracle PL/SQL – CASE 语句
简述
如 IF 声明,该 CASE statement选择一个语句序列来执行。但是,要选择序列,CASE语句使用一个选择器而不是多个布尔表达式。选择器是一个表达式,其值用于选择多个选项之一。
句法
PL/SQL 中 case 语句的语法是 -
CASE selector
WHEN 'value1' THEN S1;
WHEN 'value2' THEN S2;
WHEN 'value3' THEN S3;
...
ELSE Sn; -- default case
END CASE;
流程图
例子
DECLARE
grade char(1) := 'A';
BEGIN
CASE grade
when 'A' then dbms_output.put_line('Excellent');
when 'B' then dbms_output.put_line('Very good');
when 'C' then dbms_output.put_line('Well done');
when 'D' then dbms_output.put_line('You passed');
when 'F' then dbms_output.put_line('Better try again');
else dbms_output.put_line('No such grade');
END CASE;
END;
/
在 SQL 提示符下执行上述代码时,会产生以下结果 -
Excellent
PL/SQL procedure successfully completed.