PL/SQL - CASE 语句



和 **IF** 语句一样,**CASE 语句**会选择一个语句序列来执行。但是,**CASE** 语句使用选择器来选择序列,而不是使用多个布尔表达式。选择器是一个表达式,其值用于在多个选项中选择一个选项。

语法

PL/SQL 中 case 语句的语法如下 -

CASE selector 
   WHEN 'value1' THEN S1; 
   WHEN 'value2' THEN S2; 
   WHEN 'value3' THEN S3; 
   ... 
   ELSE Sn;  -- default case 
END CASE;

流程图

case statement in PL/SQL

示例

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. 
plsql_conditional_control.htm
广告
© . All rights reserved.