我有一个 pkg 用于保存面向报告的代码 CMS_REPORTS。
我添加了一个返回 ref 游标的过程,并且 pkg 编译得很好,但是当我调用 proc 来测试它时失败: ORA-04063: package body "CMS.CMS_REPORTS" has errors ORA-06508: PL/SQL: could not查找正在调用的程序单元:“CMS.CMS_REPORTS”
我已经删除了 orig proc 并用它替换它以保持简单 - 同样的问题。
过程是这样的:
procedure test_ref_cur(p_testno in number,
p_cur in out ref_cur) as
begin
open p_cur for
select p_testno + 1 from dual;
end test_ref_cur;
我在 pkg 规范中定义了 ref 光标,如下所示:
type ref_cur is ref cursor;
procedure test_ref_cur(p_testno in number,
p_cur in out ref_cur);
我已经尝试了使用 ref cursor 和 sys_refcursor 的各种组合,并且都出现了相同的错误。如果我从 pkg 中删除 proc,它工作正常。
我开始怀疑是系统问题?
有没有其他人有这个问题?
问候戴夫