在IF-THEN-ELSIF語句可以幾種選擇之間進(jìn)行選擇。一個(gè)IF-THEN語句可以跟著一個(gè)可選的 ELSIF...ELSE 語句。ELSIF子句允許添加附加條件。
使用IF-THEN-ELSIF語句時(shí)有幾點(diǎn)要牢記。
它是ELSIF, 而不是 ELSEIF
一個(gè)IF-THEN語句可以有零或一個(gè)ELSE語句,它必須跟從ELSIF語句。
一個(gè)IF-THEN語句可以有0到多個(gè)ELSIF,它們必須在ELSE之前。
一旦某個(gè)ELSIF成功,任何剩余的ELSIF或其他都不被測(cè)試。
在PL/SQL編程語言中的IF-THEN-ELSIF語句的語法是:
IF(boolean_expression 1)THEN S1; -- Executes when the boolean expression 1 is true ELSIF( boolean_expression 2) THEN S2; -- Executes when the boolean expression 2 is true ELSIF( boolean_expression 3) THEN S3; -- Executes when the boolean expression 3 is true ELSE S4; -- executes when the none of the above condition is true END IF;
DECLARE
a number(3) := 100;
BEGIN
IF ( a = 10 ) THEN
dbms_output.put_line('Value of a is 10' );
ELSIF ( a = 20 ) THEN
dbms_output.put_line('Value of a is 20' );
ELSIF ( a = 30 ) THEN
dbms_output.put_line('Value of a is 30' );
ELSE
dbms_output.put_line('None of the values is matching');
END IF;
dbms_output.put_line('Exact value of a is: '|| a );
END;
/
當(dāng)上述代碼在SQL提示符執(zhí)行時(shí),它產(chǎn)生了以下結(jié)果:
None of the values is matching Exact value of a is: 100 PL/SQL procedure successfully completed.