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;
    
  • 流程图

    PL/SQL 中的 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.