如何将任何返回 SYS_REFCURSOR 的函数导出到 CSV 或 Excel,或者至少导出到我可以选择、复制和粘贴到某处的任何输出

Posted

技术标签:

【中文标题】如何将任何返回 SYS_REFCURSOR 的函数导出到 CSV 或 Excel,或者至少导出到我可以选择、复制和粘贴到某处的任何输出【英文标题】:How do I export any function that returns SYS_REFCURSOR to CSV or Excel or at least to any output where I can select, copy, and paste it somewhere 【发布时间】:2016-08-23 03:24:54 【问题描述】:

假设我有以下内容:

function fn_myfunction ( param1 varchar2 ) RETURN SYS_REFCURSOR;

我只需要一个工具(免费)或代码 sn-p,我可以在其中简单地插入 select fn_myfunction( param1 ... ) from dual 并将所有结果提供给 CSV 或 Excel 或任何我至少可以选择、复制和粘贴的输出不需要其他任何东西的地方。

不需要需要一个工具或代码 sn-p 需要我指定哪些列将在 SYS_REFCURSOR 中,因为有很多他们,我不想对我将遇到的所有功能和新功能都这样做。我只需要渲染 sys_refcursor 包含的所有内容的东西。

或者:

Toad 实际上会在您触发查询后双击第一行以在网格中显示结果。但问题是它不允许我从中选择行,因此我可以将其复制并粘贴到有用的地方。如果您知道如何从中复制,那也可以作为这个问题的答案。我正在使用 Toad 10.1.1.8。

【问题讨论】:

您可能需要使用 PLSQL Developer。右击函数,点击test。打开测试窗口,完成后可以打开结果sys_refcursor,然后导出到Excel、csvsql 等等。 太糟糕了,我们没有那个。 :( 除了Toad,我还有Oracle SQL Developer。它也没有帮助。 试试PLSQL Developer @Stepan,我需要一些可以长期使用的东西 【参考方案1】:

在玩了Oracle SQL Developer之后,发现可以通过以下方式完成:

    来自 oracle sql 开发人员的触发查询 双击第一行。它应该变成灰色或其他东西 滚动到最右侧并点击“笔”图标 它应该会显示一个包含所有行的弹出对话框 选择所有要复制的记录

缺点: 不允许您复制标题。

如果有人可以发布比这更好的答案,我很乐意接受它作为答案。

【讨论】:

以上是关于如何将任何返回 SYS_REFCURSOR 的函数导出到 CSV 或 Excel,或者至少导出到我可以选择、复制和粘贴到某处的任何输出的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE:写入返回 sys_refcursor 的函数的文件结果

在过程或函数中使用 SYS_REFCURSOR

如何在 oracle 中使用 sys_refcursor 创建动态 sql

Oracle - pl sql 从 SYS_REFCURSOR 中选择

如何存储将返回ref光标的函数的结果?

如何从 Java 中的 oracle SP 返回 sys_refcursor?