【发布时间】:2016-10-25 18:02:54
【问题描述】:
我正在开发一个以 Oracle 11g 为后端数据库的系统。 我对数据库的权限非常有限,因此我所能做的就是调用位于包中的过程。
通常,这些过程通过 sys_refcursor 类型的 OUT 参数返回其结果集。
我可以在 C# 中很好地调用它们,并通过 C# OracleDataset 类型从游标中获取数据。
这是我的问题。 我希望能够运行这些程序并通过 SQL Developer 查看结果。 我可以很好地执行该过程,但是看到 sys_refcursor OUT 参数的内容让我大吃一惊。
我做了一些搜索,人们说创建类型和其他解决方案我根本没有权限去说服。
那么,我怎么可能看到包含在 sys_refcursor 中的结果集呢? 所以说我有一个带有这个签名的程序......
procedure an_oracle_Proc(p_ref IN varchar2,
p_result_set OUT sys_refcursor);
我这样称呼它......
DECLARE
l_ref VARCHAR2(10);
l_result_set sys_refcursor;
BEGIN
oracle_pkg.an_oracle_Proc(p_ref => l_ref,
p_result_set => l_result_set);
--How to select from l_result_set with limited permissions
END
如何查看 l_result_Set 的内容?
【问题讨论】:
标签: oracle stored-procedures oracle-sqldeveloper sys-refcursor