Создание отчета в Oracle? - PullRequest
       5

Создание отчета в Oracle?

0 голосов
/ 06 сентября 2010

Я пытаюсь создать отчет с использованием Oracle, но у меня возникли проблемы с выравниванием.Есть ли способ напечатать значения в определенных столбцах?Я пытаюсь добиться следующего:

---------------------------------------------------------
ColA        ColB        ColC
-----     ---------   ---------
1            2           1
2            4           2
3            3           1

В настоящее время у меня возникли некоторые трудности.Я пишу следующую команду PL / SQL:

DECLARE

BEGIN
    DBMS_OUTPUT.PUT_LINE('-');
    DBMS_OUTPUT.PUT_LINE('----------------------------------------------------------------------------------------------------------------');
    DBMS_OUTPUT.PUT_LINE('ColA        ColB        ColC');
    DBMS_OUTPUT.PUT_LINE('-----------        ------------        -------');
    FOR record IN (SELECT * FROM TABLEA) LOOP
        DBMS_OUTPUT.PUT_LINE(record.ID || '        ' || record.TAG || '        ' || record.TIP);
    END LOOP;
END;
/

Я помещаю восемь пробелов вручную, поэтому мой вывод полностью испорченЕсть ли лучший способ отформатировать вывод?

1 Ответ

1 голос
/ 06 сентября 2010

Не бери в голову ... Я понял это на всякий случай ... На всякий случай, если кто-то еще ищет ответ, использование RPAD дает мне то, что я хочу.Например, я могу красиво отформатировать его, используя следующее:

DECLARE

BEGIN
    DBMS_OUTPUT.PUT_LINE('-');
    DBMS_OUTPUT.PUT_LINE(RPAD('-', 50, '-');
    DBMS_OUTPUT.PUT_LINE(RPAD('ColA', 20) || RPAD('ColB', 20) || RPAD('ColC', 20));
    DBMS_OUTPUT.PUT_LINE('-----------        ------------        -------');
    FOR record IN (SELECT * FROM TABLEA) LOOP
        DBMS_OUTPUT.PUT_LINE(RPAD(record.ID, 20) || RPAD(record.TAG, 20) || RPAD(record.TIP, 20));
    END LOOP;
END;
/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...