oracle12cの監査トリガーがエラーでコンパイルされています

Sazny14

私のERを参照してください

CREATE OR REPLACE TRIGGER EVA 
    AFTER INSERT ON C_EVALUATION
    FOR EACH ROW
    DECLARE
    v_cid number(25);
    v_isbn number(25);
    v_cname VARCHAR2(50);
    v_tittle VARCHAR2(150);
    v_date date;
    v_location VARCHAR2(50);
    v_eva VARCHAR2(250);
    BEGIN
    v_cid:=:OLD.C_ID;
    v_isbn:=:OLD.B_ISBN;
    v_eva:=:OLD.e_desc;

    SELECT C_NAME INTO v_cname FROM C_CUSTOMER WHERE C_ID = v_cid;
    select l_date INTO v_date FROM C_LEND where c_id = v_cid;
    select B_TITTLE INTO v_tittle FROM C_BOOK WHERE B_ISBN = v_isbn;
    SELECT TOWN INTO v_location FROM COPY WHERE B_ISBN = v_isbn;

    IF :NEW.R_ID IS NULL 
    THEN       
        INSERT INTO e_audit (
        c_name,
        b_tittle,
        h_date,
        location,
        evaluation
    ) VALUES (
        v_cname,
        v_tittle,
        v_date,
        v_location,
        v_eva
    );
    END IF;
    END;
    /

ブックテーブルでは評価が与えられますが、評価、レートは顧客が与える必要があります。顧客がレートをnull値として与える場合、以下のトリガーが機能するはずです。しかし、ステートメントが無視されたため、テーブルまたはビューが存在しないというエラーが発生します。2回以上チェックしましたが、テーブル名とIDはすべて完璧です。エラーを解決するための解決策を教えてください

ジョナサン・ウィルコック

ここで他の何かが間違っているように見えます。これはINSERTトリガーですが、:OLD.e_descを参照しています。これは間違っています。INSERTトリガーは:NEWのみを参照する必要があります。DELETEトリガーは:OLDのみを参照する必要がありますが、UPDATEトリガーは:NEWと:OLDの両方を参照できます。:OLDは、変更前のレコードの値を示しますが、INSERTの場合、そのようなレコードはありませんでした。本当に必要なのは、:NEW.e_desc、:NEW.c_id、および:NEW.b_isbnを使用することだと思います。しかし、私は少し推測しています!

編集

あなたの図はすべてのフィールドを示していませんか?しかし、私があなたに必要だと思うのは:

SELECT TOWN into v_location FROM copy inner join lend 
ON lend.copyid = copy.copyid WHERE b_isbn = v_isbn 
AND lend.c_id = v_cid

ここで私が想定しているのは、lendにはcopy.copyidにリンクするフィールドcopyidがあり、顧客IDにリンクするフィールドがあるということです。また、コピーには本のb_isbnにリンクするフィールドがあると想定しています。あなたの図によると、これはすべて真実でなければなりません、それは私がフィールド名を知らないということだけです。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

「警告:コンパイルエラーで作成されたトリガー」が発生しました。複数のトリガーを作成している間

分類Dev

Oracle12cでサポートされていない関数のリストは何ですか

分類Dev

警告の解決方法:コンパイルエラーでトリガーが作成されました

分類Dev

トリガーや監査を使用せずに、Oracle11gのテーブルでどの列が更新されているかを知る方法

分類Dev

OracleSQLのコンパイルエラーで作成されたトリガー

分類Dev

NPMが「監査修正」でエラーをスローする-構成されたレジストリはサポートされていません

分類Dev

std :: bindがコンパイルされていないコード、エラーC2780:6つの引数が必要です-8が提供されます

分類Dev

constexpr関数のオーバーロードが呼び出されると、コンパイル時エラーがトリガーされます

分類Dev

警告:コンパイルエラーでトリガーが作成されました

分類Dev

SQL * PLUSトリガーはコンパイルされていませんが、エラーは表示されません

分類Dev

Oracle12cクライアントでサポートされているサーバーバージョン

分類Dev

Hibernate Envers:-コレクションメンバー変数にオブジェクトを追加すると、メインクラスの監査テーブルにもエントリが作成されます

分類Dev

C#からのSilverlightソリューションのコンパイルは、「Silverlight 4SDKがインストールされていません」というエラーで失敗します。

分類Dev

Windows8.1にOracle12cをインストールできません-プロセスでエラーが発生しました... perl.exe

分類Dev

NetBSD ':: system'でのC ++コンパイルエラーが宣言されていません

分類Dev

SQL Oracle12cトリガー

分類Dev

c++ : コンパイラがこのスコープで宣言されていないエラーを出す理由について混乱しています

分類Dev

Angularコンパイルエラー:NG6001:クラスはNgModule'AppModule 'の宣言にリストされていますが、ディレクティブ、コンポーネント、またはパイプではありません

分類Dev

ModSecurity-SecRuleでnologが設定されている間にログエントリを監査します

分類Dev

clangにエラーがないのに、g ++コンパイルエラー「...はこのコンテキスト内から保護されています」

分類Dev

C ++ Intellisenseは構造化バインディングでエラーを示していますが、コードはコンパイルされます

分類Dev

Windows 8.1-インストーラーがコード署名されていても、InnoSetupでコンパイルされたインストーラーはセキュリティのために拒否されますか?

分類Dev

g++: エラー: /u01/app/oracle/product/11.2.0/xe/lib/lclasses12.zip: Java コンパイラがこのシステムにインストールされていません

分類Dev

あるコントローラーのAngularJSwindow.onbeforeunloadが別のコントローラーでトリガーされています

分類Dev

テーブルIDを削除すると、Oracle12cでORA-00600エラーが発生します

分類Dev

Xcodeビルドエラー-複数のコマンドが.oを生成します。ターゲット 'ProjectCoreData'には、Swiftソースファイルのコンパイルコマンドが2回リストされています

分類Dev

Oracle12cクライアントインストーラエラー

分類Dev

ファイルが作成または編集されたときにフォルダを監視し、コマンドラインアクションをトリガーするにはどうすればよいですか?

分類Dev

AndroidStudioのテストサポートライブラリがコンパイルされていません

Related 関連記事

  1. 1

    「警告:コンパイルエラーで作成されたトリガー」が発生しました。複数のトリガーを作成している間

  2. 2

    Oracle12cでサポートされていない関数のリストは何ですか

  3. 3

    警告の解決方法:コンパイルエラーでトリガーが作成されました

  4. 4

    トリガーや監査を使用せずに、Oracle11gのテーブルでどの列が更新されているかを知る方法

  5. 5

    OracleSQLのコンパイルエラーで作成されたトリガー

  6. 6

    NPMが「監査修正」でエラーをスローする-構成されたレジストリはサポートされていません

  7. 7

    std :: bindがコンパイルされていないコード、エラーC2780:6つの引数が必要です-8が提供されます

  8. 8

    constexpr関数のオーバーロードが呼び出されると、コンパイル時エラーがトリガーされます

  9. 9

    警告:コンパイルエラーでトリガーが作成されました

  10. 10

    SQL * PLUSトリガーはコンパイルされていませんが、エラーは表示されません

  11. 11

    Oracle12cクライアントでサポートされているサーバーバージョン

  12. 12

    Hibernate Envers:-コレクションメンバー変数にオブジェクトを追加すると、メインクラスの監査テーブルにもエントリが作成されます

  13. 13

    C#からのSilverlightソリューションのコンパイルは、「Silverlight 4SDKがインストールされていません」というエラーで失敗します。

  14. 14

    Windows8.1にOracle12cをインストールできません-プロセスでエラーが発生しました... perl.exe

  15. 15

    NetBSD ':: system'でのC ++コンパイルエラーが宣言されていません

  16. 16

    SQL Oracle12cトリガー

  17. 17

    c++ : コンパイラがこのスコープで宣言されていないエラーを出す理由について混乱しています

  18. 18

    Angularコンパイルエラー:NG6001:クラスはNgModule'AppModule 'の宣言にリストされていますが、ディレクティブ、コンポーネント、またはパイプではありません

  19. 19

    ModSecurity-SecRuleでnologが設定されている間にログエントリを監査します

  20. 20

    clangにエラーがないのに、g ++コンパイルエラー「...はこのコンテキスト内から保護されています」

  21. 21

    C ++ Intellisenseは構造化バインディングでエラーを示していますが、コードはコンパイルされます

  22. 22

    Windows 8.1-インストーラーがコード署名されていても、InnoSetupでコンパイルされたインストーラーはセキュリティのために拒否されますか?

  23. 23

    g++: エラー: /u01/app/oracle/product/11.2.0/xe/lib/lclasses12.zip: Java コンパイラがこのシステムにインストールされていません

  24. 24

    あるコントローラーのAngularJSwindow.onbeforeunloadが別のコントローラーでトリガーされています

  25. 25

    テーブルIDを削除すると、Oracle12cでORA-00600エラーが発生します

  26. 26

    Xcodeビルドエラー-複数のコマンドが.oを生成します。ターゲット 'ProjectCoreData'には、Swiftソースファイルのコンパイルコマンドが2回リストされています

  27. 27

    Oracle12cクライアントインストーラエラー

  28. 28

    ファイルが作成または編集されたときにフォルダを監視し、コマンドラインアクションをトリガーするにはどうすればよいですか?

  29. 29

    AndroidStudioのテストサポートライブラリがコンパイルされていません

ホットタグ

アーカイブ