像IF语句中,CASE语句选择要执行的语句一个序列。但是选择顺序,CASE语句使用一个选择而不是多个布尔表达式。选择器是一个表达式,其值被用来选择多个选择之一。
在PL/SQLcase语句语法是:
CASE selector |
WHEN 'value1' THEN S1; |
WHEN 'value2' THEN S2; |
WHEN 'value3' THEN S3; |
... |
ELSE Sn; -- default case |
END 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; |
/ |
Excellent PL/SQL procedure successfully completed.