阅读(821) (0)

PL/SQL CASE语句

2021-08-30 16:24:03 更新

像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; SQL 流程图 实例请参考以下示例代码 - SET SERVEROUTPUT ON SIZE 1000000; 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('Wel像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;
SQL

流程图

实例

请参考以下示例代码 -

SET SERVEROUTPUT ON SIZE 1000000;
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

当上述代码在SQL提示符下执行时,它会产生以下结果 -