Oracle SQL Developer:在网格中显示REFCURSOR结果?

时间:2010-08-24 12:22:24

标签: oracle stored-procedures oracle-sqldeveloper

作为问题"Get resultset from oracle stored procedure"的后续问题,有没有办法显示在网格中返回REFCURSOR的存储过程的结果(而不是纯文本脚本输出窗口)在SQL Developer中?

编辑:答案有帮助,但我仍然在“查看值”窗口中显示结果集时遇到问题:

alt text

列只能扩展少量,可能是由于返回的结果数量。使用缩放器控件扩展窗口没有帮助:

alt text

1 个答案:

答案 0 :(得分:9)

我认为你不能用手术。

编辑:感谢DCookie简化原来的答案。

但作为解决方法,您可以编写一个调用该过程的函数,然后使用SQL调用该函数。

e.g。

create or replace function callmyproc
return sys_refcursor
IS
   rc   sys_refcursor;
BEGIN

   myproc(rc);

   return rc;

END;

然后您可以致电:

   select callmyproc()
   from dual;

运行此示例时,SQL Developer数据网格显示一个结果,但如果向右滚动并单击编辑按钮,您将在网格中看到结果。