时间:2010-07-30 13:49:06

标签: sql oracle csv

我使用spool命令将数据从Oracle数据库导出到csv文件,如下所示:

set heading off
set linesize 1000
set long 1000
set pagesize 0
set echo off
set verify off

spool D:\OVERNIGHT\TEMP_FILES\SE_NEW_PFRA_CRYSTAL_OUTPUT.txt


SELECT
TRIM(FU_BAN) ||'|'||
TRIM(CASE_ID) ||'|'||
TRIM(case when fu_type is null then 'unknown' else fu_type end)  ||'|'||
TO_CHAR(FU_OPEN_DATE,'DD/MM/YYYY')  ||'|'||
TO_CHAR(FU_DUE_DATE,'DD/MM/YYYY')  ||'|'||
TO_CHAR(FU_LATEST_DATE,'DD/MM/YYYY') ||'|'||
TRIM(X_CASE2X_BUS_ORG)  ||'|'||
TRIM(TOPIC1)  ||'|'||
TRIM(TOPIC2) ||'|'||
TRIM(TOPIC3)||'|'||
TRIM(FU_OPENED_BY1) ||'|'||
TRIM(FU_ASSIGNED1_TO) ||'|'||
TRIM(CASE_STATE2CONDITION) ||'|'||
TRIM(FU_STATUS) ||'|'||
TRIM(FU_OPENED_BY) ||'|'||
TRIM(FU_ASSIGNED_TO) 
FROM  SE_PFRA_REPORT_WRK T1;

SPOOL OFF

EXIT;

导出数据,但在底部有一条线条,然后是一条线,表明选择了xxxx行。

如何设置脚本以便不导出这些行?

提前感谢您的帮助。

史蒂夫

3 个答案:

答案 0 :(得分:8)

SET FEEDBACK OFF

是您要查找的命令。

这里的完整示例...... http://www.jlcomp.demon.co.uk/faq/flatfile.html

答案 1 :(得分:3)

答案 2 :(得分:1)

除了(已经提及且正确的)set feedback off之外,您可能还需要set trimspool on

这将在最后一个空格后剪切线条。没有它,假脱机的每一行最终都会有1000个字符的宽度(在set linesize中设置)。