A introdução da ferramenta CLPPlus no DB2 9.7 para Linux, UNIX e Windows trouxe muitas vantagens em relação a ferramentas anteriores do DB2:
- Ela tem muito mais recursos de geração de relatórios do que o antigo processador da linha de comando do DB2.
- Os recursos podem ser facilmente utilizados em scripts para geração regular de relatórios ou manutenção de banco de dados.
- Por se tratar de uma ferramenta de cliente remoto, ele pode se conectar a bancos de dados remotos sem a necessidade de catalogar os bancos de dados remotos na máquina local.
- Sua independência de servidor permite se conectar a diferentes servidores de dados IBM de dentro de uma única sessão.
- Ele tem uma série de recursos de compatibilidade com SQL para DB2 que são úteis ao migrar de outros bancos de dados relacionais. Esses recursos permitem migrar scripts SQL de outros produtos de servidor de banco de dados para o DB2, no estado em que se encontram ou com modificações mínimas. Isso reduz significativamente o esforço de migração envolvido na modificação dos scripts de fornecedores de bancos de dados diferentes.
Nas seções seguintes, aprenderemos sobre as principais opções de formatação de relatório suportadas pelo CLPPlus, com exemplos para ajudar a ter uma introdução.
O CLPPlus está disponível em todas as instalações do DB2 9.7 e posterior. Ele é instalado automaticamente por padrão juntamente com outros componentes de servidor e cliente. Também faz parte do pacote de drivers de servidor de dados do DB2, que pode ser transferido por download gratuitamente e instalado de forma independente (consulte Recursos).
Depois instalar o CLPPlus, é possível iniciá-lo em uma das três maneiras a seguir:
- No Windows, clique em Iniciar > Executar
para abrir uma janela de comando. Digite
clppluse clique em OK.
Figura 1. Iniciando a partir do prompt de comandos de Executar no Windows
- Em uma janela de comando do sistema operacional, digite
clppluse pressione Enter. Isso se aplica ao Windows e aos shells de comando do AIX e do Linux.
Figura 2. Iniciando a partir de um prompt de comandos
- Acesse Iniciar > Todos os programas >
IBM DB2 e, em seguida, selecione Command Line Tools > Command Line Processor Plus.
Figura 3. Iniciando a partir da interface gráfica com o usuário
Introdução às opções de relatório
O CLPPlus fornece vários comandos que podem ser usados para especificar o formato do relatório para uma consulta executada. Esses comandos podem ser classificados em três categorias básicas:
- Formatação de valores de coluna usando o comando
COLUMN. - Uso de funções de agregação do lado do cliente e formatos correspondentes para valores de coluna específicos usando os comandos
BREAKeCOMPUTE. - Geração de cabeçalhos e rodapés dinâmicos nos relatórios gerados.
Nas seções a seguir, examine cada uma dessas categorias.
O CLPPlus fornece diversas opções para formatar colunas. Eles são úteis na formatação de relatórios que contêm diversas colunas de diferentes tipos e larguras. O comando COLUMN permite a formatação de valores de colunas, bem como a modificação dos atributos das colunas, como texto de cabeçalho, largura, e assim por diante. A Listagem 1 fornece um exemplo da sintaxe do comando COLUMN :
Listagem 1.
Comando COLUMN
COL[UMN] [column_name-1 [CLE[AR] |
FOR[MAT] format_spec |
HEA[DING] heading_text |
JUSTIFY [ LEFT | RIGHT | CENTER ] |
WRAPPED | TRUNCATED |
FOLD_AFTER |
FOLD_BEFORE |
NEWLINE |
LIKE <column_name-2> |
NULL <user-text> |
PRINT|NOPRINT |
NEW_VALUE variable-name |
OLD_VALUE variable-name |
ALIAS alias-name |
ON |
OFF...]]
|
Na Listagem 1, column_name-1 especifica o nome de uma coluna no conjunto de resultados de uma consulta executada. O comando COLUMN é usado para determinar a especificação de formato da coluna column_name-1.
As várias opções do comando são as seguintes:
CLEAR- Limpa as especificações definidas anteriormente para essa coluna.FORMAT- Indica as especificações de formato para os valores dos dados numéricos e alfanuméricos.HEADING- Fornece o texto do título da coluna.JUSTIFY- Justificação à esquerda, direita ou centro dos valores da coluna.WRAPPED- Quando o valor da coluna ultrapassa a largura dela, o valor é quebrado para a próxima linha.TRUNCATED- Quando o valor da coluna ultrapassa a largura dela, os caracteres excessivos são truncados.NULL- Quando são encontrados valores nulos, é impresso o texto fornecido pelo usuário.PRINT | NOPRINT- Especifica se a coluna no conjunto de resultados deve ser impressa ou não.ON | OFF- Liga ou desliga as especificações de uma coluna específica.LIKE- Copia as especificações de formato de column-name-1 a partir de column-name-2.FOLD_AFTER,FOLD_BEFORE- Quando um registro ultrapassa o número de caracteres disponíveis para uma linha, essa opção permite decidir se deseja dobrar o registro —antes ou depois da coluna atual.NEWLINE- Igual à opçãoFOLD_AFTER.ALIAS- Fornece um nome alternativo cujas especificações de formato de coluna serão usadas em column-name-1.
O exemplo a seguir demonstra como usar essas opções. Observação: Esses exemplos supõem que o banco de dados SAMPLE, que vem como padrão na instalação de servidor DB2, está disponível.
Formatação de acordo com os tipos de colunas
Se quisermos que os valores do relatório sejam formatados de acordo com os tipos de colunas, a opção de coluna FORMAT pode ser definida nas colunas para especificar o formato do relatório para os valores da coluna.
O exemplo na Listagem 2 mostra como usar as opções FORMAT para dois tipos de colunas diferentes. A coluna SALARY é formatada com o formato decimal "99999,99". Os valores que não aderem a esse formato serão exibidos usando o caractere de antífen (#). A coluna LASTNAME é formatada com "A6", que restringe os valores da coluna ao máximo de seis caracteres.
Listagem 2. Formatação de tipos de colunas
SQL>column salary format 99999.99
SQL>column lastname format A6
SQL>firstnme, lastname, salary from employee ;
FIRSTNME LASTNA SALARY
------------ ------ -----------
CHRISTINE HAAS ########
MICHAEL THOMPS 94250.00
ON
SALLY KWAN 98250.00
JOHN GEYER 80175.00
IRVING STERN 72250.00
EVA PULASK 96170.00
I
EILEEN HENDER 89750.00
SON
THEODORE SPENSE 86150.00
R
VINCENZO LUCCHE 66500.00
SSI
SEAN O'CONN 49250.00
ELL
|
Restringindo as larguras da coluna
Este exemplo mostra como restringir valores de coluna a determinada largura. As opções de coluna WRAPPED e TRUNCATED dão a opção de quebrar ou truncar valores se eles ultrapassarem o comprimento especificado. Por padrão, as colunas são configuradas para WRAPPED.
Na Listagem 3, FORMAT A8
configura FIRSTNME e LASTNAME para terem a largura máxima de oito caracteres. Conforme ilustrado na Listagem 3, os caracteres adicionais podem ser quebrados ou truncados. Os pontos (...)
indicam que parte do nome foi truncada.
Listagem 3. Formatação de larguras de coluna
SQL>column firstnme format A8 wrapped SQL>column lastname format A8 truncated SQL>select firstnme, lastname from emp; FIRSTNME LASTNAME -------- -------- CHRISTIN HAAS E MICHAEL THOMPSON SALLY KWAN JOHN GEYER IRVING STERN EVA PULASKI EILEEN HENDE... THEODORE SPENSER VINCENZO LUCCH... SEAN O'CON... DELORES QUINTANA HEATHER NICHOLLS BRUCE ADAMSON ELIZABET PIANKA H MASATOSH YOSHI... I MARILYN SCOUTTEN |
Vejamos agora como justificar as colunas usando o CLPPlus. O exemplo na A Listagem 4 supõe que queremos que todos os valores alfanuméricos sejam justificados à esquerda ou centralizados, e que todos os valores numéricos sejam justificados à direita.
Listagem 4. Justificando colunas
SQL>column firstnme justify left SQL>column midinit justify center SQL>column salary justify right SQL>select firstnme, midinit, salary from employee; FIRSTNME MIDINIT SALARY ------------ ------- ----------- CHRISTINE I 152750.00 MICHAEL L 94250.00 SALLY A 98250.00 JOHN B 80175.00 IRVING F 72250.00 EVA D 96170.00 EILEEN W 89750.00 THEODORE Q 86150.00 VINCENZO G 66500.00 SEAN 49250.00 DELORES M 73800.00 HEATHER A 68420.00 BRUCE 55280.00 ELIZABETH R 62250.00 MASATOSHI J 44680.00 MARILYN S 51340.00 JAMES H 50450.00 DAVID 57740.00 WILLIAM T 68270.00 JENNIFER K 49840.00 JAMES J 42180.00 SALVATORE M 48760.00 |
Os dois comandos importantes usados para a geração de relatórios são BREAK e COMPUTE.
Esses comandos são usados em conjunto durante a geração de relatórios para formatar o relatório com base nos valores de colunas. O uso de BREAK e COMPUTE permite que os relatórios sejam divididos em diversos conjuntos de registros relacionados, tornando o relatório mais legível e classificado.
O comando BREAK sempre é usado em tandem com o comando COMPUTE . Toda vez que uma linha é processada para impressão, o comando BREAK compara o valor da coluna com o valor anterior. Quando o valor da coluna muda, o processamento da linha quebra e executa as ações especificadas no comando COMPUTE e depois a ação SKIP especificada no comando BREAK é executada.
Esta é a sintaxe de BREAK:
BREAK ON <column-name> [ SKIP < PAGE | n > ] |
onde n é um número inteiro.
COMPUTE sempre é usado com o comando BREAK . Quando é alcançado um ponto de interrupção de uma coluna específica (column-2), o COMPUTE daquela coluna é chamado. A função agregada especificada é executada em todos os valores de column-1 desde o último ponto de interrupção de column-2.
Esta é a sintaxe:
COMPUTE <function LABEL text OF column-1>+ ON column-2 |
onde a função é: [ SUM | MAX | MIN | AVG | COUNT | NUM | STD | VAR ].
Se um relatório precisar ser dividido em conjuntos separados de registros com base em determinado valor de coluna, é possível usar o comando BREAK . No exemplo da Listagem 5, a quebra é definida na coluna EDLEVEL. Assim, cada vez que o valor da coluna EDLEVEL muda, a tabela de resultados é quebrada com um separador de quebra e uma linha é ignorada.
Listagem 5. Quebra de valores de coluna
SQL>break on edlevel skip 2
SQL>select edlevel, firstnme, lastname, salary, bonus from employee order by edlevel;
EDLEVEL FIRSTNME LASTNAME SALARY BONUS
------- ------------ --------------- ----------- -----------
12 JOHN PARKER 35340.00 300.00
12 MAUDE SETRIGHT 35900.00 300.00
12 MICHELLE SPRINGER 35900.00 300.00
*******
14 THEODORE SPENSER 86150.00 500.00
14 SEAN O'CONNELL 49250.00 600.00
14 JAMES JEFFERSON 42180.00 400.00
14 PHILIP SMITH 37750.00 400.00
14 WING LEE 45370.00 500.00
14 GREG ORLANDO 39250.00 600.00
14 HELENA WONG 35370.00 500.00
*******
15 DANIEL SMITH 49180.00 400.00
15 MARIA PEREZ 37380.00 500.00
*******
16 JOHN GEYER 80175.00 800.00
EDLEVEL FIRSTNME LASTNAME SALARY BONUS
------- ------------ --------------- ----------- -----------
16 IRVING STERN 72250.00 500.00
16 EVA PULASKI 96170.00 700.00
16 EILEEN HENDERSON 89750.00 600.00
16 DELORES QUINTANA 73800.00 500.00
16 BRUCE ADAMSON 55280.00 500.00
16 MASATOSHI YOSHIMURA 44680.00 500.00
16 JAMES WALKER 50450.00 400.00
16 DAVID BROWN 57740.00 600.00
16 SYBIL JOHNSON 47250.00 300.00
16 RAMLAL MEHTA 39950.00 400.00
16 JASON GOUNOT 43840.00 500.00
16 KIYOSHI YAMAMOTO 64680.00 500.00
16 ROY ALONZO 31840.00 500.00
*******
|
Se seu relatório precisar ser quebrado em um conjunto de registros com base em determinado valor de coluna, e depois for preciso executar alguns cálculos nesses registros, é possível usar BREAK e COMPUTE em conjunto, como mostrado na Listagem 6.
Na Listagem 6, BREAK é definido na coluna EDLEVEL. COMPUTE foi definido na coluna EDLEVEL, que executará uma operação de cálculo na coluna SALARY. Assim, cada vez que o valor da coluna EDLEVEL muda, o relatório é quebrado e a operação de cálculo especificada MAX
é executada na coluna SALARY. O número de linhas ignoradas após cada ponto de interrupção pode ser modificado usando a opção SKIP
do comando BREAK .
Listagem 6. Executando um cálculo em uma quebra
SQL> BREAK ON EDLEVEL SKIP 2
SQL> COMPUTE MAX LABEL MAX_SAL of SALARY on EDLEVEL
SQL> SELECT EDLEVEL, EMPNO, FIRSTNME, SALARY FROM EMPLOYEE ORDER BY EDLEVEL;
EDLEVEL EMPNO FIRSTNME SALARY
------- ------ ------------ -----------
12 000290 JOHN 35340.00
12 000310 MAUDE 35900.00
12 200310 MICHELLE 35900.00
******* -----------
MAX_SAL 35900.00
14 000100 THEODORE 86150.00
14 000120 SEAN 49250.00
14 000230 JAMES 42180.00
14 200120 GREG 39250.00
14 200330 HELENA 35370.00
******* -----------
MAX_SAL 86150.00
...
...
|
No exemplo da Listagem 7, diversos cálculos foram executados para cada ponto de interrupção da coluna SALARY. Esse exemplo mostra como diversos cálculos separados por vírgula podem ser definidos em um único comando COMPUTE . MAX
e AVG são as operações executadas nas colunas BONUS e SALARY, respectivamente, para cada ponto de interrupção em EDLEVEL.
Listagem 7. Diversos cálculos
SQL> BREAK on EDLEVEL skip 1
SQL> COMPUTE MAX label MAX_BON of BONUS, AVG label AVG_SAL of SALARY
on EDLEVEL
SQL> SELECT EDLEVEL, FIRSTNME, BONUS, SALARY FROM EMPLOYEE ORDER
BY EDLEVEL;
EDLEVEL FIRSTNME BONUS SALARY
------- ------------ ----------- -----------
12 JOHN 300.00 35340.00
12 MAUDE 300.00 35900.00
12 MICHELLE 300.00 35900.00
******* -----------
MAX_BON 300.00
******* -----------
AVG_SAL 35713.33
14 THEODORE 500.00 86150.00
14 SEAN 600.00 49250.00
14 JAMES 400.00 42180.00
14 PHILIP 400.00 37750.00
14 WING 500.00 45370.00
14 GREG 600.00 39250.00
14 HELENA 500.00 35370.00
******* -----------
MAX_BON 600.00
******* -----------
AVG_SAL 47902.85
...
...
|
Pode haver cenários em que gostaríamos de fazer alguns cálculos em conjuntos de registros quebrados com base em determinados valores de coluna, mas em que não queríamos imprimir essa coluna no relatório. Nesse caso, usamos a opção NOPRINT . Use as opções PRINT e NOPRINT
de coluna para ativar e desativar a impressão de determinada coluna do relatório.
Na Listagem 8 , a operação MAX
é executada na coluna SALARY para cada ponto de interrupção da coluna EDLEVEL. Mas visto que NOPRINT está ativado para a coluna EDLEVEL, essa coluna é omitida do relatório. Como mostrado, não imprimir a coluna EDLEVEL no relatório não afeta as operações de cálculo e quebra definidas nela.
Listagem 8. Omitindo valores do relatório
SQL>break on EDLEVEL skip 1
SQL>column edlevel noprint
SQL>COMPUTE MAX LABEL MAX_SAL of SALARY on EDLEVEL
SQL>SELECT EDLEVEL, EMPNO, FIRSTNME, SALARY FROM EMPLOYEE ORDER BY EDLEVEL;
EMPNO FIRSTNME SALARY
------ ------------ -----------
000290 JOHN 35340.00
000310 MAUDE 35900.00
200310 MICHELLE 35900.00
-----------
MAX_SAL
35900.00
000100 THEODORE 86150.00
000120 SEAN 49250.00
000230 JAMES 42180.00
000300 PHILIP 37750.00
000330 WING 45370.00
200120 GREG 39250.00
200330 HELENA 35370.00
-----------
MAX_SAL
86150.00
...
...
|
O CLPPlus suporta títulos, um recurso útil para melhorar a aparência do seu relatório. O uso de títulos juntamente com números de página e opções de coluna torna os relatórios mais atraentes e informativos. Títulos em várias linhas, definidos usando uma lista de título separada por vírgulas, também são suportados. Existe a opção de alinhar os títulos à esquerda, centro ou à direita da página, e é possível usar a opção de ignorar para deixar linhas em branco depois de cada título.
A lista a seguir oferece detalhes sobre os tipos de títulos suportados pelo CLPPlus:
TTITLE: título no alto da página; exibido no alto de cada página do relatório.BTITLE: título ao pé da página. Assim comoTTITLE, é exibido na parte inferior de cada página do relatório.REPHEADER: cabeçalho de relatório; exibido apenas uma vez no início do relatório.REPFOOTER: rodapé de relatório; exibido apenas uma vez no fim do relatório.
O exemplo na Listagem 9 mostra o uso de TTITLE e BTITLE em um relatório. O tamanho da linha é configurado para o valor 70 a fim de alinhar o título com a exibição da tabela. Aqui, o título no topo é justificado à direita e o título de rodapé é justificado no centro.
Listagem 9. Formatação de larguras da coluna
SQL> ttitle right 'Employee Data'
SQL> btitle center 'IBM Corporation'
SQL> select empno, firstnme, lastname, edlevel, salary, bonus from emp ;
SQL> set linesize 70
Employee Data
EMPNO FIRSTNME LASTNAME EDLEVEL SALARY BONUS
------ ------------ --------------- ------- ----------- -----------
000010 CHRISTINE HAAS 18 152750.00 1000.00
000020 MICHAEL THOMPSON 18 94250.00 800.00
000030 SALLY KWAN 20 98250.00 800.00
000050 JOHN GEYER 16 80175.00 800.00
000060 IRVING STERN 16 72250.00 500.00
000070 EVA PULASKI 16 96170.00 700.00
000090 EILEEN HENDERSON 16 89750.00 600.00
000100 THEODORE SPENSER 14 86150.00 500.00
000110 VINCENZO LUCCHESSI 19 66500.00 900.00
000120 SEAN O'CONNELL 14 49250.00 600.00
000130 DELORES QUINTANA 16 73800.00 500.00
IBM Corporation
Employee Data
EMPNO FIRSTNME LASTNAME EDLEVEL SALARY BONUS
------ ------------ --------------- ------- ----------- -----------
000210 WILLIAM JONES 17 68270.00 400.00
000220 JENNIFER LUTZ 18 49840.00 600.00
000230 JAMES JEFFERSON 14 42180.00 400.00
000240 SALVATORE MARINO 17 48760.00 600.00
000250 DANIEL SMITH 15 49180.00 400.00
000260 SYBIL JOHNSON 16 47250.00 300.00
000270 MARIA PEREZ 15 37380.00 500.00
000280 ETHEL SCHNEIDER 17 36250.00 500.00
000290 JOHN PARKER 12 35340.00 300.00
000300 PHILIP SMITH 14 37750.00 400.00
000310 MAUDE SETRIGHT 12 35900.00 300.00
IBM Corporation
|
No exemplo abaixo, TTITLE é definido com a opção PGNO , que faz o número da página ser exibido no alto de cada página do relatório.
Listagem 10. Números de página
SQL> TTITLE right 'PAGE NO: ' PGNO
SQL> select empno, firstnme, salary, edlevel from employee order by edlevel ;
PAGE NO: 1
EMPNO FIRSTNME SALARY EDLEVEL
------ ------------ ----------- -------
000290 JOHN 35340.00 12
000310 MAUDE 35900.00 12
200310 MICHELLE 35900.00 12
000100 THEODORE 86150.00 14
000120 SEAN 49250.00 14
000230 JAMES 42180.00 14
000300 PHILIP 37750.00 14
000330 WING 45370.00 14
200120 GREG 39250.00 14
200330 HELENA 35370.00 14
000250 DANIEL 49180.00 15
000270 MARIA 37380.00 15
000050 JOHN 80175.00 16
000060 IRVING 72250.00 16
000070 EVA 96170.00 16
PAGE NO: 2
EMPNO FIRSTNME SALARY EDLEVEL
------ ------------ ----------- -------
000090 EILEEN 89750.00 16
000130 DELORES 73800.00 16
000150 BRUCE 55280.00 16
000170 MASATOSHI 44680.00 16
000190 JAMES 50450.00 16
|
Nesse exemplo, um TTITLE
de várias linhas (separado por vírgulas) é usado em combinação com PGNO e a variável de coluna NEW_VALUE . NEW_VALUE é uma variável que pode ser definida em qualquer coluna e ela contém o novo valor dessa coluna em qualquer ponto. De modo similar, OLD_VALUE contém o último valor de uma coluna.
As variáveis de novo e antigo valor podem ser usadas com TTITLE e BTITLE
respectivamente.
Como mostra a Listagem 11,
TTITLE é exibido em duas linhas. A primeira linha exibe o número da página atual e a segunda, o novo valor da coluna EDLEVEL. Da mesma forma, BTITLE
exibe o valor antigo da coluna EDLEVEL.
Listagem 11. Variáveis em títulos
SQL> break on edlevel skip 1
SQL> column edlevel new_value new_edlevel_value old_value old_edlevel_value
SQL> TTITLE RIGHT 'PAGE NO: ' PGNO skip , center 'Education Level : ' new_edlevel_value
SQL> BTITLE CENTER 'Education Level : ' old_edlevel_value
SQL> select edlevel, empno, firstnme, lastname, salary from employee order by edlevel;
PAGE NO: 1
Education Level : 12
EDLEVEL EMPNO FIRSTNME LASTNAME SALARY
------- ------ ------------ --------------- -----------
12 000290 JOHN PARKER 35340.00
12 000310 MAUDE SETRIGHT 35900.00
12 200310 MICHELLE SPRINGER 35900.00
*******
14 000100 THEODORE SPENSER 86150.00
14 000120 SEAN O'CONNELL 49250.00
14 000230 JAMES JEFFERSON 42180.00
14 000300 PHILIP SMITH 37750.00
14 000330 WING LEE 45370.00
14 200120 GREG ORLANDO 39250.00
14 200330 HELENA WONG 35370.00
*******
15 000250 DANIEL SMITH 49180.00
15 000270 MARIA PEREZ 37380.00
*******
Education Level : 15
PAGE NO: 2
Education Level : 16
EDLEVEL EMPNO FIRSTNME LASTNAME SALARY
------- ------ ------------ --------------- -----------
16 000050 JOHN GEYER 80175.00
16 000060 IRVING STERN 72250.00
16 000070 EVA PULASKI 96170.00
16 000090 EILEEN HENDERSON 89750.00
16 000130 DELORES QUINTANA 73800.00
16 000150 BRUCE ADAMSON 55280.00
16 000170 MASATOSHI YOSHIMURA 44680.00
16 000190 JAMES WALKER 50450.00
16 000200 DAVID BROWN 57740.00
16 000260 SYBIL JOHNSON 47250.00
16 000320 RAMLAL MEHTA 39950.00
16 000340 JASON GOUNOT 43840.00
16 200170 KIYOSHI YAMAMOTO 64680.00
16 200340 ROY ALONZO 31840.00
*******
17 000160 ELIZABETH PIANKA 62250.00
Education Level : 17
PAGE NO: 3
Education Level : 17
EDLEVEL EMPNO FIRSTNME LASTNAME SALARY
------- ------ ------------ --------------- -----------
17 000180 MARILYN SCOUTTEN 51340.00
17 000210 WILLIAM JONES 68270.00
17 000240 SALVATORE MARINO 48760.00
17 000280 ETHEL SCHNEIDER 36250.00
17 200240 ROBERT MONTEVERDE 37760.00
17 200280 EILEEN SCHWARTZ 46250.00
*******
18 000010 CHRISTINE HAAS 152750.00
18 000020 MICHAEL THOMPSON 94250.00
18 000140 HEATHER NICHOLLS 68420.00
18 000220 JENNIFER LUTZ 49840.00
|
Cabeçalhos e rodapés de relatório
A Listagem 12 mostra como usar cabeçalhos e rodapés de relatório. Diferentemente de TTITLE e BTITLE, eles são exibidos apenas no início e fim do relatório, independentemente do número de páginas que ele tenha.
Listagem 12. Usando cabeçalhos e rodapés
SQL> REPHEADER CENTER 'EMPLOYEE INFORMATION REPORT'
SQL> REPFOOTER CENTER 'END OF EMP INFORMATION REPORT'
SQL> select empno, firstnme, lastname, salary, bonus, edlevel from employee where edlevel
between 16 and 19;
EMPLOYEE INFORMATION REPORT
EMPNO FIRSTNME LASTNAME SALARY BONUS EDLEVEL
------ ------------ --------------- ----------- ----------- -------
000010 CHRISTINE HAAS 152750.00 1000.00 18
000020 MICHAEL THOMPSON 94250.00 800.00 18
000140 HEATHER NICHOLLS 68420.00 600.00 18
000160 ELIZABETH PIANKA 62250.00 400.00 17
000180 MARILYN SCOUTTEN 51340.00 500.00 17
000210 WILLIAM JONES 68270.00 400.00 17
000220 JENNIFER LUTZ 49840.00 600.00 18
000240 SALVATORE MARINO 48760.00 600.00 17
000280 ETHEL SCHNEIDER 36250.00 500.00 17
200010 DIAN HEMMINGER 46500.00 1000.00 18
200140 KIM NATZ 68420.00 600.00 18
200220 REBA JOHN 69840.00 600.00 18
200240 ROBERT MONTEVERDE 37760.00 600.00 17
200280 EILEEN SCHWARTZ 46250.00 500.00 17
14 rows were retrieved.
END OF EMP INFORMATION REPORT
|
Após ler este artigo e acompanhar os exemplos apresentados, já devemos estar prontos para começar a gerar relatórios usando a ferramenta de linha de comando CLPPlus. Este artigo abrangeu algumas das opções importantes de formatação de relatório, o que dá um entendimento melhor e mais claro dos recursos de geração de relatórios do CLPPlus. Há diversas outras opções do CLPPlus que podem ser usadas para aprimorar os relatórios formatando-os e melhorando sua capacidade de leitura. O aspecto de independência de servidor do CLPPlus o torna consistente e, assim, minimiza o esforço de aprendizado da ferramenta para usuários de servidores de dados IBM.
Aprender
- Página do DB2 para Linux, UNIX e Windows no developerWorks: Obtenha os recursos de que precisa para aprimorar suas qualificações em DB2.
- zona do
Information Management no developerWorks: Saiba mais sobre o Information Management. Encontre documentação técnica, artigos com instruções, educação, downloads, informações sobre produtos e mais.
- Fique por dentro doseventos técnicos e webcasts do developerWorks
.
Obter produtos e tecnologias
-
Driver de servidor de dados do DB2: Faça o download do pacote de drivers do servidor de dados do DB2 para obter o CLPPlus.
-
DB2 para Linux, UNIX e Windows: Faça download de uma versão de avaliação gratuita do DB2 9.7 para Linux, UNIX e Windows.
- DB2 Express-C 9.7: Faça o download do DB2 Express-C 9.7.2 , um produto inteiramente licenciado disponível gratuitamente para a comunidade.
- Crie seu próximo projeto de desenvolvimento com o software de avaliação da IBM, disponível para download diretamente do developerWorks.
Discutir
- Participar do fórum de discussão.
- O grupo de DB2 no My developerWorks é o local para interagir e colaborar com outros usuários do DB2 (todas as versões e todas as plataformas).
- Participe dos blogs do developerWorks
e participe da
comunidade My developerWorks; com seu perfil pessoal e página inicial customizada é possível modelar o developerWorks de acordo com seus interesses e interagir com outros usuários do
developerWorks.
Mangesh é Staff Software Engineer e trabalha na IBM India nos últimos três anos e meio. Desde então, ele está associado com o desenvolvimento de ferramentas de Information Management no India Software Lab. Ele tem cerca de cinco anos de experiência em desenvolvimento de produto de software. Atualmente, ele trabalha com a equipe Common Application Development, em que desenvolve recursos de relatórios, script e compatibilidade com o SQL do CLPPlus. Ele é formado em ciência da computação pela VTU Karnataka (Índia). Em seu tempo livre, ele gosta de ler livros e assistir a filmes. Ele também é um ávido fã de esportes.