OracleでのPLS-00323エラーの理由は、パッケージ仕様とパッケージ本体のプロシージャまたは関数宣言の不一致です。これを解決するには、次のアクションを実行します。
OracleでのPLS-00323エラーの解決
- パッケージの本体と一致する必要があるすべての関数とプロシージャの宣言について、パッケージの仕様を確認してください。以下は、不一致の手順の例です。
パッケージ仕様
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; /
- 上記で強調表示されているコードの部分に違いがあることがわかります。仕様では、 emp2.sal%type 、本文では emp2.comm%type 。
- この変更を適切に解決するには。たとえば、salをcommに変更します 仕様またはcommto sal 体内で。
お役に立てば幸いです。
関連項目:
- PL/SQLでアプリケーションエラーを発生させる例
- PL/SQLでエラー行番号を検索