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