Plsql-if-then-elsif

提供:Dev Guides
移動先:案内検索

PL/SQL-IF-THEN-ELSIFステートメント

*IF-THEN-ELSIF* ステートメントを使用すると、いくつかの選択肢から選択できます。 *IF-THEN* ステートメントの後に、オプションの *ELSIF ... ELSE* ステートメントを続けることができます。 *ELSIF* 句を使用すると、条件を追加できます。
*IF-THEN-ELSIF* ステートメントを使用する場合、留意すべき点がいくつかあります。
  • ELSEIFではなくELSIFです。
  • IF-THENステートメントには0個または1個のELSEを含めることができ、ELSIFの後に来る必要があります。
  • IF-THENステートメントには、ゼロ個から多数のELSIFを含めることができ、ELSEの前に配置する必要があります。
  • ELSIFが成功すると、残りのELSIFもELSEもテストされません。

構文

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;
/

上記のコードがSQLプロンプトで実行されると、次の結果が生成されます-

None of the values is matching
Exact value of a is: 100

PL/SQL procedure successfully completed.