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構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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;
/
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; /
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;
/

実行例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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プロシージャが正常に完了しました。
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プロシージャが正常に完了しました。
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