Oracle Spool 添加了额外的 LF

问题描述 投票:0回答:2

我有一个线轴,选择为:

SET SERVEROUTPUT ON

WHENEVER SQLERROR EXIT 1

set heading off
set feedback off
set termout off
set echo off
set verify off
set pagesize 0
set line 1000
set trimspool on
spool &1
SELECT '9' || 'c' || chr(10) || myColumn
  FROM myTable;
spool off
set feedback on;
set term on;


exit;

问题是我的输出文件如下:

9c
17

9c
17

9c
17

9c
17

9c
17

所以正如你所看到的,我在“c”后面有换行符,但它也在 myColumn 之后添加了一个新的换行符。 有什么想法如何解决吗? 我的文件将在 Unix 中加载。 我尝试过用 CR 代替,但随后我将用 CR 来表示行,而其他行则用 LF 来表示。 我认为在 Unix 和 Windows 之间会失败。

oracle spool
2个回答
1
投票
SET RECSEP OFF
SET RECSEP WRAPPED

http://ss64.com/ora/syntax-sqlplus-set.html


0
投票

为了澄清@jeffrey Kemp 的答案, 关闭新线的正确方法是用

SET RECSEP OFF;

替代方案

SET RECSEP WRAPPED
是默认值,它会附加换行符。

© www.soinside.com 2019 - 2024. All rights reserved.