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

OracleエラーPLS-00323:サブプログラムまたはカーソルがパッケージ仕様で宣言されており、パッケージ本体で定義する必要があります

    ヘッダーと本文のプロシージャの定義が一致しません

    ヘッダーには、次のものがあります。

    PROCEDURE get_films(fname VARCHAR2);
    

    一方、体内では:

    PROCEDURE get_films(fname IN film.title%type, 
       r_date OUT film.release_date%type, dur OUT film.duration%type)
    

    おそらく、2つの追加のOUTパラメータでヘッダー定義を更新する必要がありますか?

    要約する

    • ヘッダー定義が本体実装のすべてのパラメーター(パラメーターの数、パラメーターの名前、パラメーターの順序、およびパラメーターのタイプ)と一致することを確認してください
    • Alexのコメントによると、カスタムタイプ(film.title%type)を組み合わせて使用​​しないでください。 )基本タイプ(VARCHAR2 )。どちらかを選択してください。


    1. Spring JPA+postgresqlのスキーマ間でデータソースを動的に切り替えます

    2. ユーザー定義タイプのテーブルパラメータを必要とするSQLAlchemyでストアドプロシージャを呼び出す方法

    3. Mysqlエラー1005(HY000):テーブル'tmp'を作成できません(errno:13)

    4. SQL Server:誤ったバージョン661を添付します