PLSQL 脚本不以两种不同格式(即 .csv 和 .log)导出相同输出的假脱机
PLSQL script not exporting the spool in two different format (i.e .csv and .log) for the same output
我想为下面给定的示例以两种不同的格式导出假脱机,但不幸的是,假脱机 Main_Spool.log 没有收集所有输出。有什么 possibility/alternative 方法可以做到这一点吗?
SET SERVEROUTPUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SPOOL Main_Spool.log
DECLARE
...................
BEGIN
<QUERY - 1>
DBMS_OUTPUT.PUT_LINE('First Output');
END;
/
DECLARE
................
BEGIN
<QUERY - 2>
DBMS_OUTPUT.PUT_LINE('Second Output');
END;
/
SPOOL OFF
/
SPOOL Main_Spool.log append
SPOOL CSV_Format_spool.csv
DECLARE
................
BEGIN
<QUERY - 2>
DBMS_OUTPUT.PUT_LINE('Third Output');
END;
/
SPOOL OFF
/
spool
一次只能写入一个文件。您将需要使用 OS 命令来复制它,例如
host copy Main_Spool.log CSV_Format_spool.csv
或者将所有内容假脱机到单独的文件,然后根据需要使用主机命令组合它们:
host type file1 file2 > file3
顺便说一下,/
字符执行 SQL 缓冲区中的任何内容,因此上面的脚本将执行 'Second Output'
块两次。
我想为下面给定的示例以两种不同的格式导出假脱机,但不幸的是,假脱机 Main_Spool.log 没有收集所有输出。有什么 possibility/alternative 方法可以做到这一点吗?
SET SERVEROUTPUT ON
SET FEEDBACK OFF
SET ECHO OFF
SET VERIFY OFF
SPOOL Main_Spool.log
DECLARE
...................
BEGIN
<QUERY - 1>
DBMS_OUTPUT.PUT_LINE('First Output');
END;
/
DECLARE
................
BEGIN
<QUERY - 2>
DBMS_OUTPUT.PUT_LINE('Second Output');
END;
/
SPOOL OFF
/
SPOOL Main_Spool.log append
SPOOL CSV_Format_spool.csv
DECLARE
................
BEGIN
<QUERY - 2>
DBMS_OUTPUT.PUT_LINE('Third Output');
END;
/
SPOOL OFF
/
spool
一次只能写入一个文件。您将需要使用 OS 命令来复制它,例如
host copy Main_Spool.log CSV_Format_spool.csv
或者将所有内容假脱机到单独的文件,然后根据需要使用主机命令组合它们:
host type file1 file2 > file3
顺便说一下,/
字符执行 SQL 缓冲区中的任何内容,因此上面的脚本将执行 'Second Output'
块两次。