2016-08-19 2 views
0

Я использую этот скрипт:Форматирование заголовка запроса SQL Developer

COLUMN c1  HEADING 'Col1' 
COLUMN c2   HEADING 'Col2' 
COLUMN c3 HEADING 'Col3' 
select c1, c2, c3 from t1 ORDER BY c1 

это то, что он показывает:

Col1    Col2 
-------------------- -------------------- 
Col3         
---------------------------------------- 
aaa    bbb     
qqq          

ccc    ddd   
rrr          

eee    fff   
ppp          


Col1    Col2 
-------------------- -------------------- 
Col3         
---------------------------------------- 
ggg    hhh    
iii        

jjj    kkk    
lll       

mmm    nnn    
ooo  

Как показано я не знаю, почему третий столбец отображается в новая строка и почему заголовок отображается каждые 3 строки?

ответ

1

Это напоминает мне аналогичную «проблему» в sqlplus.

Вы пробовали?

set linesize 200; 

редактировать (дополнительно):

Я считаю, что это снимает много расстояния между колоннами:

set sqlformat ansiconsole; 

И это поставит все строки за другой:

set pagesize 30; 

Если все еще грязно, попробуйте увеличить число

0

Я согласен с тем, что ваш текущий выход уродлив. Один обходной путь будет только UNION заголовка на явно:

SELECT t.c1, t.c2, t.c3 
FROM 
(
    SELECT 'Col1' AS c1, 'Col2' AS c2, 'Col3' AS c3, 1 AS pos 
    FROM dual 
    UNION 
    SELECT c1, c2, c3, 2 AS pos 
    FROM t1 
) t 
ORDER BY t.pos, 
     t.c1 

Это должно работать при условии, что c1, c2 и c3 столбцы varchar, который совместит с текстом, появляющимся в записи заголовка.

+0

спасибо за ответ. Я хочу, чтобы это выглядело как хороший отчет, любые идеи, пожалуйста? – Tak

+0

Если вы хотите очень продуманное форматирование, вам может быть лучше обработать его в инструменте, таком как Java или даже PHP. Возможно, кто-то еще может дать вам исправление для 'HEADER'. –

+0

Нет лучшего способа использовать его с HEADING, но избегать проблем, которые произошли со мной? – Tak

Смежные вопросы