首页 > 解决方案 > Oracle SQL 假脱机输出问题 - 标题和破折号

问题描述

美好的一天,Stack Overflow 的人们。我有一个关于我为我的团队拥有的一些监管流程更新的 SQL 代码的问题。当我运行以下代码时,导出设置得很好,但是,我得到了几个标题行和几行什么都没有。有问题的 SQL 代码如下:

Set Heading On
Set Colsep '|'
Set NumFormat 999999999999.99
Set Echo Off
Spool 'X:\Cool\Drive\Space\Yo\Output.csv' Replace;

Select …
From …
Group By …
;

Spool Off;

输出看起来像这样:

A|      B|     C|...
-|-------|------|...

这些行的多个实例重复。

有没有人知道如何阻止这种情况发生,以及我如何修剪输出,以便在实际数据开始打印之前我们没有一堆空白?

谢谢!

标签: oracleoutputoracle-sqldeveloperspool

解决方案


你需要添加两件事

SQL> set underline off
SQL> set pagesize 100

PAGESIZE 表示,在再次打印标题列名称之前要打印多少行。如果您只想查看一次,请将页面大小设置为大于行数。

这是我的查询 -

SQL> set heading on
SQL> set colsep '|'
SQL> set numformat 999999999999.99
SQL> select sum(salary), department_id
  2  from employees
  3  group by department_id
  4  ;

如果我运行它 -

     SUM(SALARY)|   DEPARTMENT_ID
       105970.33|      100.00
        51214.47|       30.00
        14380.48|
       119020.33|       90.00
        39014.85|       20.00
        20532.81|       70.00
        41680.87|      110.00
       321867.32|       50.00
       626338.39|       80.00
        13355.08|       40.00
        59187.52|       60.00
         8228.13|       10.00

12 rows selected.

推荐阅读