PL/SQL IF-THEN-ELSIF語句

2019-10-16 22:54:11

在PL/SQL中,IF-THEN-ELSIF語句允許在多種選擇之間進行選擇。IF-THEN語句後面可以有一個可選的ELSIF ... ELSE語句。 ELSIF子句可用於新增附加條件。

使用IF-THEN-ELSIF語句時需要注意幾點。

  • 需要看清楚,它是ELSIF,並不是ELSEIF
  • IF-THEN語句可以有零個或一個ELSE,它必須在ELSIF之後。
  • IF-THEN語句可以有零或多個ELSIF,它們必須在ELSE之前。
  • 一旦有一個ELSIF條件測試成功,其餘的ELSIFELSE都不會再被測試。

語法

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;

範例

參考以下範例程式碼 -

SET SERVEROUTPUT ON SIZE 1000000;
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; 
/

當上述程式碼在SQL提示符下執行時,它會產生以下結果 -