DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Usando linguagem SQL para geração de relatórios - Revista SQL Magazine 96 - Parte 3

Uso de linguagem SQL para criação de relatórios, desde recursos básicos até os mais avançados. Esta é terceira parte de uma série de artigos e trata do uso de funções criadas pelo usuário, as UDFs.






Voltamos com mais um artigo desta série. Como já havia mencionado nos artigos anteriores, esta série se propõe a ajudar tanto o leitor iniciante quanto o leitor mais avançado a trabalhar com a linguagem SQL para geração de relatórios.

Nos dois artigos anteriores, vimos o uso de recursos básicos da linguagem SQL, como cláusulas e operadores especiais, e também o uso de visões e consultas aninhadas. Mais especificamente:

·         Parte 1: apresenta recursos básicos da linguagem SQL, como principais cláusulas, funções e alguns operadores. Operadores são os elementos que você utiliza dentro de expressões para definir como você quer restringir os dados retornados por uma busca. De uma forma geral, os operadores são divididos em seis grupos: aritméticos, comparação, caractere, lógico, conjunto e outros.

·         Parte 2: apresenta recursos da linguagem SQL para geração de objetos especiais para manipulação dos dados, como visões e consultas aninhadas. O leitor com alguma familiaridade com SQL já deve ter visto tais recursos, por isso acrescentou-se um estudo de performance para auxiliá-lo a explorar estas técnicas de forma otimizada.

 

Nesta terceira parte, iremos falar de funções definidas pelo usuário (conhecidas como UDFs, sigla do inglês User Defined Functions). Elas permitem que o programador crie funções de diferentes tipos que retornem a informação desejada e que possam ser usadas dentro de declarações SQL. Apenas para ilustrar, o programador pode, por exemplo, criar uma função que exiba os nomes dos dias da semana em português e usar esta função para preparar um relatório.

UDFs são recursos criados através de uma linguagem de “programação” que é uma extensão do SQL. Outros objetos que são criados da mesma forma são os procedimentos armazenados e gatilhos (ou, se preferir, stored procedures e triggers, respectivamente).

Por se tratar de uma extensão da linguagem SQL, cada fornecedor de sistemas gerenciadores de bancos de dados (SGBDs) cria a sua própria linguagem particular. Assim, temos vários “dialetos” em matéria de linguagem procedural: a Oracle inclui no seu produto o PL/SQL, o SQL Server da Microsoft traz o T/SQL e a IBM usa no DB2 o SQL/PL. Todas elas são parecidas em sua estrutura, mas é preciso cuidado na conversão dos códigos, porque as sintaxes acabam apresentando diferenças marcantes.

Havíamos mencionado nos artigos anteriores que a série foi criada a partir de uma palestra que apresentei aos meus colegas de trabalho sobre o uso do DB2. Portanto, neste texto usaremos o SQL/PL para criação da maioria das funções e para fins ilustrativos mostrarei apenas um exemplo de UDF sendo criada em outros SGBDs.

Tópicos discutidos neste artigo

Neste artigo apresentaremos os seguintes tópicos:

·         tipos de UDFs;

·         criação de UDFs escalares;

·         como usar UDFs escalares;

·         considerações sobre performance das UDFs escalares;

·         criação de UDFs tabulares;

·         como usar UDFs tabulares;

·         considerações sobre performance das UDFs tabulares.

Base de dados e considerações

Para situarmos os recursos SQL que vamos estudar, é preciso ter uma base de dados como amostra. Usaremos nestes artigos uma base com dados fictícios de demanda de produtos farmacêuticos. A Figura 1 mostra o modelo desta base.

Assumiremos neste artigo que o leitor já está familiarizado com conceitos básicos de programação, além de já dominar os conceitos da linguagem SQL apresentados nos artigos anteriores desta série."



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da SQL Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



[Este post ainda não foi associado a uma sequência]
Publicidade
Autor
Wagner Crivelini

Atua a mais de 15 anos na área TI, particularmente com Business Intelligence. Engenheiro formado pela UNICAMP, trabalha na IBM na unidade de IBM Global Account onde atua como DBA DB2 e SQL SERVER em projetos internacionais. Profissional com várias certificações em DB2, entre elas IBM Certified Sol...


Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03