Oracle SQL Проблемы вывода из спула - Заголовки и тире - PullRequest
1 голос
/ 03 марта 2020

Добрый день, ребята из 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|...
-|-------|------|...

с повторением нескольких экземпляров этих строк.

Кто-нибудь знает, как предотвратить это, и как я могу обрезать выходные данные, чтобы у нас не было пробелов до того, как фактические данные начнут печатать?

Спасибо!

1 Ответ

2 голосов
/ 03 марта 2020

Вам нужно добавить две вещи

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.
...