我们的应用程序将信息从 oracle 存储过程传递到 oracle .net 提供程序的标准方式是通过 out ref 游标参数。
过去我们所有的存储过程都在包中,并且有这样的东西:
CREATE OR REPLACE PACKAGE test_package IS
TYPE refcur IS REF CURSOR;
PROCEDURE get_info ( o_cursor OUT refcur );
END test_package;
/
CREATE OR REPLACE PACKAGE BODY test_package IS
PROCEDURE get_info ( o_cursor OUT refcur ) AS
BEGIN
OPEN o_cursor FOR
SELECT * FROM v$database;
END get_info;
END test_package;
/
现在我想将该 get_info 过程移出包并进入常规过程,但不知道如何获取 refcur 类型。如何在包范围之外创建它?
创建或替换类型 refcur 是 REF CURSOR;
不起作用。