Para melhor visualização, recomendo resolução de no mínimo 1280 x 800 e navegador Mozilla Firefox


sábado, 1 de setembro de 2012

Gerando saídas em formato HTML no SQL*Plus

Por Eduardo Legatti

Olá,

Desde a versão do Oracle 8i R2, é possível gerarmos as saídas das consultas SQL no formato HTML à partir do utilitário SQL*Plus. Muitas vezes, quando precisamos realizar consultas no banco de dados e enviar o resultado para alguém, nos vemos uma hora ou outra, utilizando-se de ferramentas gráficas como o Oracle SQL Developer, TOAD, PL/SQL Developer, entre outras, para gerá-las no formato do Excel (*.xls) ou no formato texto (*.csv). É muito comum também codificarmos os scripts SQL de forma que os mesmos gerem a saída no formato (*.csv) para serem executados à partir do SQL*Plus. Neste artigo, irei demonstrar como poderemos gerar as saídas no formato HTML utilizando o SQL*Plus através do parâmetro "markup".
SQL*Plus: Release 11.2.0.1.0 Production on Sáb Set 1 15:42:52 2012

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

Conectado a:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select * from produto;

COD DATA DESCRICAO
---------- ------------------- --------------------------
1 27/08/2012 16:43:03 Computador
2 28/08/2012 16:43:03 Laptop
3 29/08/2012 16:43:03 Impressora
4 30/08/2012 16:43:03 Monitor
5 31/08/2012 16:43:03 Mouse
6 01/09/2012 16:43:03 Teclado

6 linhas selecionadas.

Acima, a tabela PRODUTO possui os registros que utilizarei como exemplo para a geração do arquivo no formato HTML. Abaixo irei criar um script contendo os comandos necessários para a geração do arquivo.
C:\>type produto.sql
set echo off
set pages 50000
set markup html on spool on
set termout off
spool produto.html
select * from produto;
spool off;
quit;

Após a criação do script SQL acima, irei executar o mesmo utilizando o SQL*Plus com a opção -s (modo silencioso) de forma que o resultado fique livre informações do banner SQL*Plus, entre outros.
C:\>sqlplus -s scott/tiger @produto.sql


Uma outra forma mais simples é utilizar a opçao -m e ativar o modo HTML diretamente na linha de comando. Neste caso, o script poderá conter apenas a consulta SQL.
C:\>type produto.sql
select * from produto;
quit;

C:\>sqlplus -s -m "HTML ON" scott/tiger @produto.sql > produto.html


Para aqueles que queiram utilizar cores alternadas entre as linhas, segue abaixo um exemplo de como deverá ficar o script contendo a consulta SQL.
C:\>type produto.sql
prompt -
<style> -
tr:nth-child(2n) -
{background-color: Yellow;} -
tr:nth-child(2n+1) -
{background-color: LightGray;} -
</style>
set markup HTML ON
select * from produto;
quit;
C:\>sqlplus -s scott/tiger @produto.sql > produto.html


Por fim, vale a pena salientar que o arquivo HTML gerado poderá ser aberto e manipulado pelo Excel sem nenhum problema como demonstrado abaixo:






Nenhum comentário:

Postagens populares