sql - 执行 SQL 并返回记录的 Oracle 函数或包
问题描述
我需要从 Excel 调用包或函数,并导致在服务器上而不是在本地计算机上完成处理。为此,我需要将 SELECT SQL 语句传递给包或函数,它将返回记录集。
原因是我们有 100 条 SQL 语句当前在 Excel 中处理,但由于 VPN 速度慢,它们需要更长的时间。我尝试使用单个包在调用时运行 SQL,并且速度明显更快。任何仅将 SELECT SQL 语句传递给函数并仅返回记录的方法都会有很大帮助。
甲骨文版本 11。
解决方案
你可以访问 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。
问候。
推荐阅读
- unity3d - 具有 2D 刚体的可拉伸移动精灵样条
- github-pages - 在 Github 页面中嵌入 PDF 被阻止
- python - 返回不确定长度的子字符串
- python - 如何根据值是否属于特定存储桶合并 2 个数据帧?
- r - 我在低 X 值时没有得到正确的直方图
- sql - 将存储过程输出数据插入到表的列中
- php - 无法 cmd + click 访问 Laravel 开发服务器
- terraform - 如何在 terraform 中实现“粘性”变量?
- amazon-web-services - 为什么 AWS EC2 在 /var/lib/cloud/instances/ 下有多个具有不同 instance_id 的文件夹?
- java - How can I check to see if the parameters in a constructor for an interface and the class is the same?