Pular para o conteúdo

Fóruns SQL e PL/SQL Remover ********** ao usar compute sum no SQLPLUS Remover ********** ao usar compute sum no SQLPLUS

#108622
Avatar photoJosé Laurindo Chiappa
Moderador

    Bom, vc poderia colocar meu conhecimento de CSS e HTML entre as teclas dum teclado que o bichinho ia funcionar ** perfeitamente ** de tão “grande” que é , mas seguindo os links que te passei (em especial o http://ittichaicham.com/2008/12/generating-html-reports-from-sql-plus/comment-page-1/) e cheguei num caso simples belezinha, sem ** NADA ** de aparecer /b nem nada assim…. Aliás, essa tag aí de acordo com https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element/b ficou ***** OBSOLETA ***** faz tempo, não devia estar nem sendo usada, nem Imagino de onde vc tirou isso : e repente vc está usando um sqlplus antigão, ou está seguindo algum exemplo antigo e despreparado ?? Anyway , eis o meu exemplo :

    ==> primeiro crio uma massinha de dados :

    SQL> create table TBL_TICKETS (ID number, DESCRIPTION varchar2(30), ASSIGNED_TO varchar2(25),
    2 OPEN_DATE date, BACKLOG number);

    Tabela criada.

    SQL> insert into TBL_TICKETS values(2, ‘Compiler not work’, ‘Jim K’, ’08/Out/2008′, 76);

    1 linha criada.

    SQL> insert into TBL_TICKETS values(3, ‘Cannot access database’, ‘John F’, ’11/Nov/2008′, 42);

    1 linha criada.

    SQL> insert into TBL_TICKETS values(4, ‘Query is too slow’, ‘John F’, ’11/Dez/2008′, 12);

    1 linha criada.

    SQL> insert into TBL_TICKETS values(5, ‘System reboot unexpectedly’, ‘David K’, ’21/Dez/2008′, 2);

    1 linha criada.

    SQL> commit;

    Commit concluído.

    SQL>

    ==> aí tenho um script que faz o setup geral para HTML Markup :

    C:Usersjlchi_000>type set_markup.sql
    set markup HTML ON HEAD ” –
    body { –
    font:10pt Arial,Helvetica,sans-serif; –
    color:blue; background:white; } –
    p { –
    font:8pt Arial,sans-serif; –
    color:grey; background:white; } –
    table,tr,td { –
    font:10pt Arial,Helvetica,sans-serif; –
    text-align:right; –
    color:Black; background:white; –
    padding:0px 0px 0px 0px; margin:0px 0px 0px 0px; } –
    th { –
    font:bold 10pt Arial,Helvetica,sans-serif; –
    color:#336699; –
    background:#cccc99; –
    padding:0px 0px 0px 0px;} –
    h1 { –
    font:16pt Arial,Helvetica,Geneva,sans-serif; –
    color:#336699; –
    background-color:White; –
    border-bottom:1px solid #cccc99; –
    margin-top:0pt; margin-bottom:0pt; padding:0px 0px 0px 0px;} –
    h2 { –
    font:bold 10pt Arial,Helvetica,Geneva,sans-serif; –
    color:#336699; –
    background-color:White; –
    margin-top:4pt; margin-bottom:0pt;} –
    a { –
    font:9pt Arial,Helvetica,sans-serif; –
    color:#663300; –
    background:#ffffff; –
    margin-top:0pt; margin-bottom:0pt; vertical-align:top;} –
    .threshold-critical { –
    font:bold 10pt Arial,Helvetica,sans-serif; –
    color:red; } –
    .threshold-warning { –
    font:bold 10pt Arial,Helvetica,sans-serif; –
    color:orange; } –
    .threshold-ok { –
    font:bold 10pt Arial,Helvetica,sans-serif; –
    color:green; } –

    SQL*Plus Report” –
    BODY “” –
    TABLE “border=’1′ width=’90%’ align=’center'” –
    ENTMAP OFF SPOOL ON

    C:Usersjlchi_000>

    (infelizmente não consegui um bom exemplo de Imagem pública na internet pra usar no img src , essa que eu botei aí em cima não funcionou, o site deve estar protegido, mas não faz mal…)

    ==> aí, esse script set_markup.sql é chamado de dentro do script que eu quero que gere o SPOOL em formato HTML, que eu chamei de run_weekly_backlog_report.sql :

    C:Usersjlchi_000>type run_weekly_backlog_report.sql
    @set_markup.sql
    set pages 100
    TTITLE LEFT _DATE CENTER ‘

    Weekly Top Backlog Report : Database Team NA Region

    ‘ –
    RIGHT ‘Page:’ FORMAT 999 SQL.PNO SKIP CENTER ‘

    Red = Backlog > 30 days, Orange > 10 days

    spool backlog_report.htm

    select ‘‘||ID||’‘ ID,
    DESCRIPTION, ASSIGNED_TO, OPEN_DATE,
    CASE
    when SYSDATE-OPEN_DATE > 3040 then
    ‘||to_char(trunc(SYSDATE-OPEN_DATE))||’
    when SYSDATE-OPEN_DATE > 3000 then
    ‘||to_char(trunc(SYSDATE-OPEN_DATE))||’
    ELSE
    ‘||to_char(trunc(SYSDATE-OPEN_DATE))||’
    END BACKLOG
    from TBL_TICKETS
    order by SYSDATE-OPEN_DATE DESC;

    spool off

    exit
    /

    ==> veja que é no CSS que vc coloca o atributo de BOLD, de Fonte do que quiser : tenho elementos no meu CSS que fazem o texto ficar em cores diferentes, com pesos diferentes…
    Muito bem, vou executar o script de report – veja que ele ** TEM ** que ser rodado a partir da Linha de Comando, e portanto TEM que ter um EXIT no final : é tal que nem eu fiz no meu exemplo de geração de arquivo delimitado que dei numa Outra pergunta do Fórum….

    C:Usersjlchi_000>sqlplus scott/tiger @run_weekly_backlog_report.sql

    ==> Veja que o script vai rodar e vai jogar uns outputs na tela, nenhum deles importa :

    SQL*Plus: Release 11.2.0.2.0 Production on Ter Fev 7 18:19:57 2017

    Copyright (c) 1982, 2014, Oracle. All rights reserved.

    Conectado a:
    Oracle Database 11g Express Edition Release 11.2.0.2.0 – 64bit Production

    07/02/17

    Weekly Top Backlog Report : Database Team NA Region

    …..
    21/12/08
    2970

    Desconectado de Oracle Database 11g Express Edition Release 11.2.0.2.0 – 64bit Production

    ==> Veja que ele ** gerou ** o desejado arquivo em format HTML :

    C:Usersjlchi_000>dir *.htm
    O volume na unidade C não tem nome.
    O Número de Série do Volume é 340C-E794

    Pasta de C:Usersjlchi_000

    07/02/2017 18:19 3.071 backlog_report.htm
    1 arquivo(s) 3.071 bytes
    0 pasta(s) 480.876.212.224 bytes disponíveis

    C:Usersjlchi_000>

    ==> aí abrindo o arquivo no Firefox eu vejo colunas em vermelho, em laranja, em bold e com FOntes específicas… Ó o printscreen :

    View post on imgur.com

    Espero que esse exemplinho te seja útil, okdoc ??

    Abraços,

    José Laurindo Chiappa

    OBS : eu usei o sqlplus que vêm com o database Oracle Express Edition 11gR2…