Oracle 21c PL/SQL IF文にNULLとの比較のサンプル

環境
Windows 11 Pro 21H2 64bit
Oracle Database 21c Express Edition Release 21.0.0.0.0

書式

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
IF カラム名1 IS NULL THEN
  処理コード1
ELSIF カラム名2 IS NOT NULL THEN
  処理コード2
ELSE
  処理コード3
END IF;
IF カラム名1 IS NULL THEN   処理コード1 ELSIF カラム名2 IS NOT NULL THEN   処理コード2 ELSE   処理コード3 END IF;
IF カラム名1 IS NULL THEN
  処理コード1
ELSIF カラム名2 IS NOT NULL THEN
  処理コード2
ELSE
  処理コード3
END IF;

条件が合致する場合、配下の処理が実行され、if文の処理は終了します。
条件が合致することをtrue(真)ともいいます。
条件が合致しないことをfalse(偽)ともいいます。

使用例
SQL構文

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
create or replace procedure TESTPROA(
usercd IN number
)
IS
user_name user.NAME%TYPE;
city_name user.CITY%TYPE;
BEGIN
select name,city into user_name,city_name from USER
where ID = usercd;
IF city_name IS NULL THEN
dbms_output.put_line('都市名がNULLです');
END IF;
IF user_name IS NOT NULL THEN
dbms_output.put_line('ユーザー名がNULLではありません');
END IF;
END;
create or replace procedure TESTPROA( usercd IN number ) IS user_name user.NAME%TYPE; city_name user.CITY%TYPE; BEGIN select name,city into user_name,city_name from USER where ID = usercd; IF city_name IS NULL THEN dbms_output.put_line('都市名がNULLです'); END IF; IF user_name IS NOT NULL THEN dbms_output.put_line('ユーザー名がNULLではありません'); END IF; END;
create or replace procedure TESTPROA(
      usercd    IN   number
)
IS
      user_name   user.NAME%TYPE;
      city_name   user.CITY%TYPE;
BEGIN
      select name,city into user_name,city_name from USER
      where ID = usercd;

      IF city_name IS NULL THEN
            dbms_output.put_line('都市名がNULLです');
      END IF;

      IF user_name IS NOT NULL THEN
            dbms_output.put_line('ユーザー名がNULLではありません');
      END IF;
END;

 

 

 

Oracle 21c

Posted by arkgame