像IF語(yǔ)句中,CASE語(yǔ)句選擇要執(zhí)行的語(yǔ)句一個(gè)序列。但是選擇順序,CASE語(yǔ)句使用一個(gè)選擇而不是多個(gè)布爾表達(dá)式。選擇器是一個(gè)表達(dá)式,其值被用來(lái)選擇多個(gè)選擇之一。
在PL/SQLcase語(yǔ)句語(yǔ)法是:
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; /
當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
Excellent PL/SQL procedure successfully completed.