Oracle PL/SQL IF ELSEIF文で条件分岐をするサンプル

環境
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0
SQL*Plus: Release 12.2.0.1.0

書式
IF 条件式 THEN
処理コード
ELSIF 条件式 THEN
処理コード
[ELSIF 条件式 THEN 処理]
[ELSE 処理分]
END IF;
条件式ごとに処理を分岐して処理を行います。

PL/SQL構文

DECLARE
    city VARCHAR2(23) := 'tokyo';
    BEGIN
        IF city = 'oosaka' THEN
            DBMS_OUTPUT.PUT_LINE( '大阪' );
        ELSIF city = 'fukuoka' THEN
            DBMS_OUTPUT.PUT_LINE( '福岡' );
        ELSE
            DBMS_OUTPUT.PUT_LINE( '東京' || city ||'です' );
    END IF;
END;
/

実行例

SQL> SET SERVEROUTPUT ON
SQL>DECLARE
  2      city VARCHAR2(23) := 'tokyo';
  3      BEGIN
  4          IF city = 'oosaka' THEN
  5              DBMS_OUTPUT.PUT_LINE( '大阪' );
  6          ELSIF city = 'fukuoka' THEN
  7              DBMS_OUTPUT.PUT_LINE( '福岡' );
  8          ELSE
  9              DBMS_OUTPUT.PUT_LINE( '東京' || city ||'です' );
 10      END IF;
 11  END;
 12  /
東京tokyoです

PL/SQLプロシージャが正常に完了しました。

 

Oracle

Posted by arkgame