2

出力パラメータがPL/SQLブロックに変数を移入することになっているストアドプロシージャを呼び出すことになっているPL/SQLブロックを実行しています。

プロシージャがコンパイルされ、PL/SQL ブロックが正常に実行されます。しかし、プロシージャによって入力された変数の値を確認したいと思います。これらの値を出力する方法はありますか?

それが役立つ場合、私は無料のTOADを使用しています。

ありがとう、

4

4 に答える 4

3

いくつかのオプションがあります:

  • DBMS_OUTPUT を使用してログに記録する
  • UTL_FILE を使用してファイルにログを記録する
  • Oracle デバッガー DBMS_DEBUG を使用する

私の好みは、かなり単純なカスタム ログ パッケージを使用してファイルにログを記録することです。私のカスタム ロギング パッケージには、ファイル ロギングと DBMS_OUTPUT ロギングを切り替える設定可能なフラグがあります。

Oracle のデバッグ API は非常に優れていますが、優れたデバッグ クライアントが必ず必要です。Oracle SQL Developer は、これをかなり適切にサポートしています。

log4plsql ロガーもありますが、私は使用していません。

于 2008-10-31T22:43:33.983 に答える
2
dbms_output.put_line(varHere);
于 2008-10-31T19:53:26.650 に答える
0

4 番目のオプション (私が通常デフォルトで使用するオプション) も存在します。デバッグ メッセージをデータベース テーブルに記録します。これにより、必要に応じてデバッグ メッセージを並べ替え、クエリ、フィルター処理できるという利点があります。

上記の darreljnz のように、log4plsql はおそらくデータベースへのロギングもサポートしています。1) dbms_output には制限が多すぎる 2) ファイルへのログ記録には多くの設定が必要であり、utl_file_dir パラメータがまだ設定されていない場合はデータベースの再起動が必要である 3) GUI を使用せずに dbms_debug を使用するのは非常に面倒です (しかし、私はやりました)

于 2009-02-14T20:11:23.060 に答える
0

Oracle jDeveloper jDeveloper Home pageまたは Oracle Visual Studio add in VS Pluginのコピーをダウンロードできる場合。どちらも無料で、データベース上の PL/SQL でデバッグ (ブレークポイントの設定、変数の検査など) を行うことができます。これを行うには、DB に対する「デバッグ」権限も必要です。ただし、dba 権限を持っている場合は、それを付与できます。

于 2009-02-14T20:46:42.693 に答える