スポンサーリンク

[PL/SQL] SELECT INTOで0件取得の例外処理

概要

SELECT INTOを使用して、取得した件数が0件で何も代入できなかった場合に発生するエラーに対して、例外処理を行います。

実践

ソースコード

DECLARE
  emp_name VARCHAR2(20);
BEGIN
  BEGIN 
    SELECT name INTO emp_name FROM emp WHERE empid = '10';
  EXCEPTION
    WHEN no_data_found THEN
      DBMS_OUTPUT.PUT_LINE('データを取得できませんでした。');
  END;
END;

実行結果

「データを取得できませんでした。」のメッセージが表示されます。

解説

SELECT INTOで0件取得の場合、no_data_found例外が発生するので、その例外名で例外処理を行います。
例外発生時は、メッセージを表示したり、ロールバックしたり、デフォルト値を設定するなどの処理を行う必要があります。