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

OracleでのPLS-00323エラーの解決

    OracleでのPLS-00323エラーの理由は、パッケージ仕様とパッケージ本体のプロシージャまたは関数宣言の不一致です。これを解決するには、次のアクションを実行します。

    OracleでのPLS-00323エラーの解決

    1. パッケージの本体と一致する必要があるすべての関数とプロシージャの宣言について、パッケージの仕様を確認してください。以下は、不一致の手順の例です。

    パッケージ仕様

    CREATE OR REPLACE PACKAGE emp_pkg
    IS
    PROCEDURE update_comm (i_comm IN emp2.sal%TYPE);
    a number;
    
    END emp_pkg;
    /

    パッケージ本体

    CREATE OR REPLACE PACKAGE BODY emp_pkg
    IS
    PROCEDURE update_comm (i_comm IN emp2.comm%TYPE)
    IS
    BEGIN
    UPDATE emp2
    SET comm = sal * NVL (i_comm, 0) / 100;
    
    COMMIT;
    END update_comm;
    END emp_pkg;
    /
    1. 上記で強調表示されているコードの部分に違いがあることがわかります。仕様では、 emp2.​​sal%type 、本文では emp2.​​comm%type
    2. この変更を適切に解決するには。たとえば、salをcommに変更します 仕様またはcommto sal 体内で。

    お役に立てば幸いです。

    関連項目:

    • PL/SQLでアプリケーションエラーを発生させる例
    • PL/SQLでエラー行番号を検索
    1. OracleでSQLチューニングを行う方法

    2. xmlns:dtを使用したOPENXML

    3. MySQLデータベースをバックアップおよび復元する方法は?

    4. Firebaseの概要