【发布时间】:2019-12-03 10:20:14
【问题描述】:
我试图在其中一个 Oracle DB 中创建一个过程。程序是为我的同事准备的,以便每个人都可以将查询结果导出到 csv 文件中。
我使用的是“假脱机”命令。在 Oracle SQL Developer 中分别运行 BEGIN 和 END 之间的代码时(作为脚本运行,F5) - 它工作正常,并在本地创建了文件。
然后我尝试将其放入程序中,这就是问题开始的地方。出现一些编译错误。他们中的大多数都有代码“PLS-00103”。我尝试搜索它,但到目前为止还没有成功。我什至尝试了 EXECUTE IMMEDIATE 语句,将一些脚本块放入其中 - 到目前为止还没有工作。
我将不胜感激有关处理我的情况的任何提示/帮助。
附:我的第一次尝试如下:
CREATE OR REPLACE PROCEDURE export_to_csv (SOURCE IN VARCHAR2, EXPORT_PATH IN VARCHAR2) is
BEGIN
spool on;
set feedback off;
set heading off;
set sqlformat csv;
spool EXPORT_PATH;
select * from SOURCE;
spool off;
END export_to_csv;
【问题讨论】:
-
PL/SQL 在数据库中运行,没有输出流。这就是为什么它的syntax 中没有
spool命令以及为什么select需要into子句。
标签: oracle plsql export-to-csv procedure spool