Este é um post disponível para assinantes MVPUsando 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.
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da SQL Magazine 96
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
Space do autor



0
0
