要件により、あるストアドプロシージャを別のストアドプロシージャから呼び出す必要があります。
out_result_size
問題は、私が使用している出力パラメーターのどこかにあるようです。テストmain_func
すると正常に動作しますが、テストsynonym_proc
すると
synonym_procが無効です
最終的には、synonym_proc
JPAを使用してJavaから呼び出す必要があります@NamedNativeQuery
CREATE OR REPLACE PROCEDURE synonym_proc (
result_cursor OUT SYS_REFCURSOR,
in_cp_id IN NUMBER,
in_cp_name IN VARCHAR2 := NULL,
in_country_name IN VARCHAR2 := NULL,
in_industry_name IN VARCHAR2 := NULL,
in_max_result_size IN NUMBER
) AS
out_result_size NUMBER;
BEGIN
result_cursor := someSchema.somePackage.main_func(in_cp_id,
in_cp_name,
in_country_name,
in_industry_name,
in_max_result_size,
out_result_size);
END;
更新:私が以前に気づかなかった質問の変更について言及しなかったことをお詫びします。これmain_func
は関数(プロシージャではありません)であり、カーソルを返し、スキーマ内のパッケージ内にあります。コンパイルすると、次のコンパイルエラーが発生します。
エラー:PLS-00201:識別子'SOMESCHEMA.SOMEPACKAGE'を宣言する必要があります。ステートメントは無視されます。
アップデート2
SomeSchemaの定義
CREATE OR REPLACE PACKAGE someSchema."SomePackage"
is
...
function mainFunc
(
in_cp_id in gem.tcp_real_profile_main_approved.cp%type
, in_cp_name in gem.tcp_real_profile_main_approved.name%type
, in_country_name in gem.tcp_real_profile_main_approved.country_name%type
, in_industry_name in gem.tcp_real_profile_main_approved.industry_name%type
, in_max_result_size in number
, out_result_size out number
)
return search_result_type_cursor;
追加した
type search_result_type_cursor
is ref cursor
return search_type;
そして、はい、関数(main_func)を記述し、データ型を相互検証したので、データ型は正しいです。