由于要求,我必须从另一个调用一个存储过程。
问题似乎出在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)并交叉验证了数据类型。