0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PL/SQL #04 デバッグ

Posted at

前回例外処理を書いたので、その流れで
エラーのデバッグ等に関しても説明していく。

基本的には前回の例外処理の際にも記載した

DBMS_OUTPUT.PUT_LINE('DEBUG');

を利用してコンソールやlog上に任意のデバッグ文字を出力することで
どのタイミングまでの処理が実行できているのかなどの判断をしていく。

もちろんの事、変数などの中身を出力することができるので、

DECLARE
    TEST NVARCHAR2(300)


    --変数にデータベースの中身を入れ込むようなSQLを用意する
CURSOR cur IS 
    SELECT * 
        FROM XXX ;

BEGIN
  OPEN cur;
        LOOP FETCH cur INTO row;
        EXIT WHEN cur%NOTFOUND;
            TEST := row.AAA;
            DBMS_OUTPUT.PUT_LINE(TEST);
        END LOOP;
    CLOSE cur;
END;
    

上記のような変数を出力するSQLも実行可能である
※上記のような場合だと出力文字列の長さ次第でエラーになるので
タイミングは注意。
UTL_FILEなどで出力するタイミングで
出力データが何処までできているのか?など
タイミングを見極めてデバッグをはさまないと無駄足になる可能性がある。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?