像IF語(yǔ)句一樣,CASE語(yǔ)句選擇要執(zhí)行的一個(gè)語(yǔ)句序列。 但是,要選擇序列,CASE語(yǔ)句使用選擇器而不是多個(gè)布爾表達(dá)式。選擇器是一個(gè)表達(dá)式,其值用于選擇幾種替代方法之一。 句法PL/SQL中的case語(yǔ)句的語(yǔ)法是 - CASE selector WHEN 'value1' THEN S1; WHEN 'value2' THEN S2; WHEN 'value3' THEN S3; ... ELSE Sn; -- default case END CASE; SQL 流程圖 實(shí)例請(qǐng)參考以下示例代碼 - 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語(yǔ)句一樣,CASE語(yǔ)句選擇要執(zhí)行的一個(gè)語(yǔ)句序列。 但是,要選擇序列,CASE語(yǔ)句使用選擇器而不是多個(gè)布爾表達(dá)式。選擇器是一個(gè)表達(dá)式,其值用于選擇幾種替代方法之一。
PL/SQL中的case語(yǔ)句的語(yǔ)法是 -
CASE selector
WHEN 'value1' THEN S1;
WHEN 'value2' THEN S2;
WHEN 'value3' THEN S3;
...
ELSE Sn; -- default case
END CASE;
SQL
流程圖
請(qǐng)參考以下示例代碼 -
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
當(dāng)上述代碼在SQL提示符下執(zhí)行時(shí),它會(huì)產(chǎn)生以下結(jié)果 -
更多建議: