首页 > 解决方案 > 执行 SQL 并返回记录的 Oracle 函数或包

问题描述

我需要从 Excel 调用包或函数,并导致在服务器上而不是在本地计算机上完成处理。为此,我需要将 SELECT SQL 语句传递给包或函数,它将返回记录集。

原因是我们有 100 条 SQL 语句当前在 Excel 中处理,但由于 VPN 速度慢,它们需要更长的时间。我尝试使用单个包在调用时运行 SQL,并且速度明显更快。任何仅将 SELECT SQL 语句传递给函数并仅返回记录的方法都会有很大帮助。

甲骨文版本 11。

标签: sqlvbaoraclefunctionpackage

解决方案


你可以访问 Linux 吗?

如果您已经创建了语句并且您只需要在输出中选择 select 的结果。最美丽的任务是做:

SPOOL </my_folder/my_file.csv>

The below mentioned SELECT

阀芯关闭;

如果您创建一个 SELECT 语句,例如:

SELECT col1 || ';' || col2 || ';' || ... || ';' || coln FROM MY_TABLE;

无论您在何处运行 Oracle,您都将拥有 CSV 文件。

如果必须使用变量创建 SELECT STATEMENT,则必须使用 REFCURSOR。

问候。


推荐阅读