Oracle SQL Developer: Show REFCURSOR Results in Grid?(Oracle SQL Developer:在网格中显示 REFCURSOR 结果?)
问题描述
作为问题的后续从oracle存储过程获取结果集",有没有办法显示在 SQL Developer 中的网格(而不是纯文本脚本输出窗口)中返回 REFCURSOR
的存储过程的结果?
As a follow-up to the question "Get resultset from oracle stored procedure", is there a way to show the results of a stored procedure that returns a REFCURSOR
in a grid (instead of the plain text Script Output window) within SQL Developer?
答案有所帮助,但我仍然无法在查看值"窗口中显示结果集:
The answer helped, but I'm still having a problem displaying the result set in the "View Value" window:
列只能扩展少量,可能是由于返回的结果数量.使用 resizer 控件扩展窗口无济于事:
The columns can only be expanded a small amount, probably due to the number of results being returned. Expanding the window with the resizer control doesn't help:
推荐答案
我不认为你可以用一个程序.
I don't think you can with a procedure.
感谢 DCookie 简化了我的原始答案.
Thanks to DCookie for simplifying my original answer.
但作为一种变通方法,您可以编写一个函数来调用该过程,然后使用 SQL 调用该函数.
But as a work-around you can write a function that calls the procedure and then invoke that using SQL.
例如
create or replace function callmyproc
return sys_refcursor
IS
rc sys_refcursor;
BEGIN
myproc(rc);
return rc;
END;
然后你可以用它来调用:
Which you can then call with:
select callmyproc()
from dual;
运行此示例时,SQL Developer 数据网格显示一个结果,但如果向右滚动并单击编辑按钮,您将在网格中看到结果.
When this example is run, the SQL Developer data grid shows one result but if you scroll right and click on the edit button, you will see the results in a grid.
这篇关于Oracle SQL Developer:在网格中显示 REFCURSOR 结果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Oracle SQL Developer:在网格中显示 REFCURSOR 结果?
基础教程推荐
- 如何在 SQL Server 的嵌套过程中处理事务? 2021-01-01
- 无法在 ubuntu 中启动 mysql 服务器 2021-01-01
- 使用pyodbc“不安全"的Python多处理和数据库访问? 2022-01-01
- 在 VB.NET 中更新 SQL Server DateTime 列 2021-01-01
- SQL Server:只有 GROUP BY 中的最后一个条目 2021-01-01
- SQL Server 中单行 MERGE/upsert 的语法 2021-01-01
- SQL Server 2016更改对象所有者 2022-01-01
- Sql Server 字符串到日期的转换 2021-01-01
- 将数据从 MS SQL 迁移到 PostgreSQL? 2022-01-01
- ERROR 2006 (HY000): MySQL 服务器已经消失 2021-01-01