2011-09-12 5 views
2

dbms_errlog関数をSELECTクエリに使用できますか?SELECTクエリにdbms_errlogを使用できますか?

以前は、OracleがORA-0722を投げているときにエラーが発生しましたが、そのエラーをスローしていたPL/SQL文の列と、おそらくは行を特定しようとしていました。しかし、dbms_errlogはOracle 10g以上のネイティブであることがわかりました。

また、Oracle 9iを使用している場合、どのような選択肢がありますか?

+0

これは非常に一般的な質問です。具体的にすることはできますか?問題のコード/テーブル構造を表示しますか? –

答えて

1

DBMS_ERRLOGは関数ではなく、PL/SQLパッケージです。エラーテーブルを作成するプロシージャが1つあります。このエラーにエラーを記録するには、DML文に「log errors」句を指定する必要があります。この記述から、これはトランザクション層と緊密に統合されていることが明らかです。以前のリリースでは同様の動作を再現する

一つの方法は、

  • にある独自のエラー表
  • を作成し、そのエラーテーブルに挿入するPL/SQLプロシージャを作成します。 には、エラーが発生した場合にログが書き込まれていることを確認してください。この手順では、 自律型トランザクションを使用する必要があります。
  • ログエラーの呼び出しは、対応する例外ハンドラの に明示的に追加する必要があります。
関連する問題