sql >> データベース >  >> RDS >> Oracle

OracleDatabaseでのPL/SQL例外処理の概要

    すべての例外を処理できるようになるまで、コードが堅牢であるとは言えません。プログラムのバグと突然の終了は、プログラマーの人生の悪夢です。途中でクラッシュしたり、予期しない動作をしたりするコードを開発したいプログラマーはいません。したがって、ソフトウェアをスムーズに実行するには、あらゆる種類の例外を処理する必要があります。

    あなたの問題を知ることは、その解決策を見つけるための第一歩です。それでは、Oracleデータベースでの例外処理について詳しく見ていきましょう。

    例外とは何ですか?

    実行時にプログラムの命令の通常のフローを中断する異常な状態またはsayイベントは例外です。または、簡単に言うと、例外は実行時エラーであると言えます。

    情報バイト:
    例外は、コンパイル時のエラー処理ではなく、実行時のエラー処理用に設計されています。コンパイルフェーズ中に発生したエラーは、PL / SQLコンパイラによって検出され、ユーザーに報告されます。

    例外の種類

    Oracleデータベースには2種類のPL/SQL例外があります。

    1. システム定義の例外と
    2. ユーザー定義の例外

    システム定義の例外

    システム定義の例外は、Oracleサーバーによって暗黙的に定義および保守されます。これらの例外は、主に OracleSTANDARDパッケージで定義されています。 。プログラム内で例外が発生したときはいつでも。 Oracleサーバーは、使用可能な一連の例外から適切な例外を照合して識別します。

    システム定義の例外には、主に否定的なエラーコードとエラーメッセージがあります。これらのエラーには、例外ハンドラーで使用される短い名前が付いています。

    情報バイト:
    Oracleは、2つのユーティリティ関数SQLCODEとSQLERRMを使用して、最後に発生した例外のエラーコードとメッセージを取得します。

    ユーザー定義の例外

    System-Define Exceptionとは異なり、User-Define Exceptionsは、RAISE文を使用してPL / SQLブロックの本体(より具体的にはBEGIN-ENDセクション内)で明示的に発生します。

    Oracleデータベースでユーザー定義の例外を宣言する方法。

    OracleDatabaseでユーザー定義の例外を宣言する方法は3つあります。

    1. 宣言セクションでEXCEPTIONタイプの変数を宣言する。

    コードでEXCEPTIONデータ型の変数を宣言することでユーザー定義の例外を宣言し、RAISEステートメントを使用してプログラムで明示的に発生させ、例外セクションで処理できます。

    1. PRAGMAEXCEPTION_INIT関数を使用してユーザー定義の例外を宣言します。

    PRAGMA EXCEPTION_INIT関数を使用すると、事前定義されていないエラー番号をEXCEPTIONデータ型の変数にマップできます。同じ関数を使用して、EXCEPTIONデータ型の変数を標準エラーに関連付けることができることを意味します。

    1. RAISE_APPLICATION_ERRORメソッド。

    このメソッドを使用すると、独自にカスタマイズしたエラー番号とメッセージを使用して、ユーザー定義の例外を宣言できます。

    このセクションは以上です。 OracleDatabaseでの例外処理に関するこの簡単な紹介をお楽しみいただけたでしょうか。このブログでは、OracleDatabase認定およびインタビューで期待できるいくつかの質問に答えようとしました。

    次のチュートリアルのように、上記の概念を説明するいくつかのクールな例を実行します。これは、知識を高め、PL/SQL例外処理の概念をしっかりと把握するのに役立ちます。ありがとう&素晴らしい一日を!


    1. AlteryxでのJavaデータの操作

    2. Oracle 11gのオブジェクトタイプ列から選択するにはどうすればよいですか?

    3. 誤った文字列値エラーを修正する方法は?

    4. 15便利なMySQL/MariaDBパフォーマンスのチューニングと最適化のヒント