sqlplus spooling:如何去掉第一行空行?

12 浏览
0 Comments

sqlplus spooling:如何去掉第一行空行?

我正在执行以下的输出语句:

SET VERIFY OFF
SET FEEDBACK OFF
SET HEADING OFF
SET TRIMSPOOL ON
SET TERM OFF
SPOOL &pathRelations
START scripts/relations.sql &parent
SPOOL OFF
SET TERM ON

scripts/relations.sql文件中包含一个简单的select语句。

不幸的是,输出文件的第一行是一个空行。这个空行会在我们的框架中引起问题。

当然,我可以通过sed去掉这些空行,但是有没有一种方法可以在一开始就阻止它们的生成呢?

0
0 Comments

问题出现的原因:在使用sqlplus进行spooling操作时,输出的文件的第一行会出现一个空行。用户希望找到一种方法来去除这个空行。

解决方法:可以使用SET NEWPAGE NONE命令来解决这个问题。这个命令会将分页符设置为无,从而避免产生空行。另外,可以尝试将SET NEWPAGE 0命令改为SET NEWPAGE NONE,因为SET NEWPAGE 0会触发一个分页符,而不是用户想要的结果。

然而,对于某些用户来说,这两种方法都没有起作用。他们表示感谢,但仍然无法解决问题。不过,可以通过将SET HEADING OFF命令设置为关闭来去除开头的空行,但是这样会导致头部信息也被去除,而有些用户仍然需要头部信息。因此,最好的解决方法是选择自己的标题并进行设置,因为SQLPLUS在格式化标题方面表现不佳。

0
0 Comments

问题描述:在使用sqlplus进行spool操作时,输出文件的第一行总是为空行,如何解决这个问题?

问题原因:这个问题的原因是sqlplus在执行spool操作时,默认会在输出文件的第一行添加一个空行。

解决方法:可以通过设置sqlplus的NEWPAGE参数来解决这个问题。NEWPAGE参数用于控制在输出文件的每页开头是否添加空行。

具体的解决方法如下:

1. 打开sqlplus命令行工具。

2. 输入以下命令来设置NEWPAGE参数的值为0:

SET NEWPAGE 0;

3. 执行spool操作,将输出结果保存到文件中:

SPOOL output.txt;

4. 执行需要的SQL语句。

5. 结束spool操作:

SPOOL OFF;

通过以上步骤,就可以在输出文件中去掉第一行的空行了。

需要注意的是,NEWPAGE参数的默认值为1,表示在输出文件的每页开头添加一个空行。设置NEWPAGE参数的值为0可以取消这个行为。

通过设置sqlplus的NEWPAGE参数的值为0,可以解决在使用sqlplus进行spool操作时输出文件第一行为空行的问题。

0
0 Comments

问题出现的原因是在使用sqlplus的spooling功能时,如果使用了"set markup csv on"命令,会在文件开头创建一个回车换行符(LFCR),而Excel会将其识别为一个空行。

解决方法是在执行spooling之前,使用"set newpage none"命令来禁用空行的生成。

下面是解决问题的代码示例:

set newpage none
set markup csv on
spool output.csv
select * from table;
spool off

通过在spooling之前使用"set newpage none"命令,可以解决生成的CSV文件开头出现空行的问题。

0