7. Utilizando e criando UDF's

Neste capítulo. veremos como utilizar UDF’s (Função definida pelo usuário) no IB/FB, como também, a criar nossas próprias UDF’s. Uma UDF nada mais é que uma função definida pelo usuário a qual pode ser escrita em qualquer linguagem de programação que gere uma biblioteca compilada. No Windows, por exemplo, essas bibliotecas compartilhadas são definidas como DLL’s (biblioteca de ligação dinâmica).

Você deve estar se perguntando o porquê de utilizar ou escrever UDF’s. A verdade é que o IB/FB não possuem um grande conjunto de funções embutidas, isso é, existe apenas uma meia dúzia de funções para utilização em instruções SQL e/ou objetos como Stored Procedures e Triggers.

Algumas dessas funções já vimos durante esse curso, como por exemplo: Upper, Max, Sum, Avg, Min etc. Funções básicas e comuns que estão faltando no IB/FB diz respeito a módulos aritméticos, rotinas de formatação e manipulação de data e hora, ponto-flutuante, etc.

Devido a esse fato o IB/FB conta com as UDF’s para suprir esse ponto. Através de linguagens de programação como Delphi e C, podemos criar rapidamente funções aritméticas, para formatação de datas/horas e manipulação de strings. A utilização e/ou criação de UDF’s é um trabalho simples, porém, um desenvolvedor inexperiente em escrever DLL’s pode sentir-se um pouco desconfortável com alguns requisitos.

Utilizando UDF’s

Tanto o InterBase quanto o Firebird trazem consigo algumas UDF’s prontas para serem utilizadas. No diretório de instalação do banco de dados, existe um subdiretório chamado UDF, onde as bibliotecas ficam armazenadas. Para usuários do InterBase há disponível a ib_udf.dll. Já para os usuários do Firebird existem duas DLL’s contendo UDF’s prontas para serem utilizadas, a ib_udf.dll e a fbudf.dll.

Essas bibliotecas trazem diversas UDF’s escritas em C/C++ prontas para serem utilizadas em nossos bancos, bastando apenas declará-las. Tanto o InterBase quanto o Firebird trazem com sua instalação um arquivo chamado ib_udf.sql o qual detalha todas as UDF’s disponíveis na ib_udf.dll.

Para visualizar o conteúdo do arquivo ib_udf.sql abra-o a partir do MS WordPad que acompanha o Windows. Veja na Tabela 7.1, algumas das UDF’s presentes na ib_udf.dll:

Função

Descrição

div

Retorna a parte quociente da divisão de dois números

lower

Retorna uma string em minúsculo

ltrim

Remove todos os espaços do lado esquerdo de uma string

rtrim

Remove todos os espaços do lado direito de uma string

mod

Retorna o resto da divisão entre dois números

pi

Retorna o valor de pi (3.1459...)

...
Quer ler esse conteúdo completo? Tenha acesso completo