PL/SQL CASE語句

2019-10-16 22:54:13

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;

流程圖

範例

請參考以下範例程式碼 -

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提示符下執行時,它會產生以下結果 -