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

ORACLE例外の処理

    事前定義されたPL/SQL例外は特別です。 オラクルに。あなたは本当にそれらを台無しにすることはできません。独自の事前定義された例外のセットが必要な場合、標準の例外のように「グローバルに」宣言することはできません。代わりに、例外を作成してください すべての例外宣言を含み、それをアプリケーションで使用するパッケージ コード。

    例:

    CREATE OR REPLACE PACKAGE my_exceptions
    AS
      insert_null_into_notnull EXCEPTION;
      PRAGMA EXCEPTION_INIT(insert_null_into_notnull, -1400);
    
      update_null_to_notnull EXCEPTION;
      PRAGMA EXCEPTION_INIT(update_null_to_notnull, -1407);
    END my_exceptions;
    /
    

    次に、パッケージで定義されている例外を使用します

    CREATE OR REPLACE PROCEDURE use_an_exception AS
    BEGIN
      -- application specific code ...
      NULL;
    EXCEPTION
      WHEN my_exceptions.insert_null_into_notnull THEN
         -- application specific handling for ORA-01400: cannot insert NULL into (%s)
         RAISE;
    END;
    /
    

    出典: http://www.orafaq.com/wiki/Exception



    1. djangomysqlはインデックスの使用を強制します

    2. 複数列のインデックスを使用している場合でも、複数列のクエリが対応する単一列のクエリよりも大幅に遅いのはなぜですか?

    3. OS X上のpostgresqlデータベースの場所は?

    4. PostGIS:zとmの次元をクエリする(linestringzm)