Oracle11g PL/SQLの呼び出し時のエラーについて
当方ではOracle11gを使用しており、既存のPL/SQL処理を
使って、新規システム(Javaアプリケーション)
からPL/SQLを呼び出す処理を開発しておりますが、
PL/SQLに結合配列が使われており、呼び出し時に以下のエラーが出て困っております
PLS-00306: 'xxxxxx'の呼出しで、引数の数または型が正しくありません。
例えば以下のPL/SQLが定義されているとして
create or replace package TestPKG as type VARARRAY is table of varchar2(2000) index by binary_integer; i binary_integer; procedure pr01 (a_cd in number, b_cd in number, c_data in VARARRAY, sts out number);
※パッケージBodyは略
これを以下のようにSQL*PLUSより無名ブロックから実行すると
結合配列の箇所にて型が合わないエラーとなります
DECLARE a_cd NUMBER := 1; b_cd NUMBER := 2; type VARARRAY is table of varchar2(2000) index by binary_integer; c_data VARARRAY; sts NUMBER; BEGIN c_data(0) := 'テスト'; c_data(1) := 'テスト2'; TestPKG.pr01(a_cd,b_cd,c_data,sts); DBMS_OUTPUT.PUT_LINE(sts); END;
PLS-00306: 'pr01'の呼出しで、引数の数または型が正しくありません。
結合配列の引数を持つPL/SQLに対してSQL*PLUSからの実行を
行う場合の構文について、上記の部分での誤りも含めて
ご教授いただけると幸いです。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/28 02:32
2020/01/28 06:02
2020/01/28 09:35
2020/01/28 09:37
2020/01/29 00:45