PostgreSQL: Criação e uso de Stored functions

Neste artigo, vamos abordar a criação e uso de stored functions em PostgreSQL que retorna um conjunto de registros, uma prática que pode ser muito útil, porém pouco utilizada , seja por falta de conhecimento ou experiência.

De que se trata o artigo

Neste artigo, vamos abordar a criação e uso de stored functions em PostgreSQL que retorna um conjunto de registros, uma prática que pode ser muito útil, porém pouco utilizada, seja por falta de conhecimento ou experiência ou ainda por ser nativa do banco de dados.

Em que situação o tema útil

O tema discutido neste artigo é útil para todos aqueles que tenham interesse em conhecer de perto o recurso de stored functions no PostgreSQL. Embora muito útil, este recurso muitas vezes não é utilizado por desconhecimento.

Resumo DevMan

Veremos neste artigo algumas das possibilidades no uso de stored function que retorna um conjunto de registros, como utilizá-las como uma visão de banco de dados (view) retornando dados de uma consulta SQL, ou retornando dados calculados sem necessidade de existência de uma tabela, ou ainda chamando funções dentro de outras.

Stored functions são métodos de banco de dados contendo um código-fonte programado por alguém, geralmente um programador ou DBA, que ficam guardados no banco de dados e que podem ser chamados, executados e/ou acessados diretamente a partir do banco de dados. Esta funcionalidade está presente em praticamente todos os SGBDs e possui aplicabilidades diversas, como: fazer cálculos específicos, codificar, formatar e decodificar textos, retornar um conjunto de registros, etc.

Tais funções podem retornar vários tipos de dados, simples ou complexos, ou até mesmo podendo retornar um conjunto de registros, como mencionado anteriormente. O conjunto de registros é visualizado em forma de listas de dados, exatamente como é mostrado no resultado de uma consulta SQL, porém também podem ser mostrados dados que não precisam ser derivados de tabelas, como acontece nas consultas SQL.

Neste artigo, vamos abordar a criação e uso de stored functions em PostgreSQL que retorna um conjunto de registros, uma prática que pode ser muito útil, porém pouco utilizada, seja por falta de conhecimento ou experiência ou ainda por ser nativa do banco de dados. Neste artigo iremos demonstrar alguns exemplos que irão facilitar o entendimento das Stored Functions que retornam um conjunto de registros, mas antes é preciso entender como é o escopo de uma stored function no PostgreSQL.

Uma função é formada por um cabeçalho, um escopo principal e um rodapé. Estas partes contêm informações específicas, como: nome, tipo de retorno, declarações de variáveis, o código propriamente dito, o tipo de linguagem utilizada, etc.

O cabeçalho é a parte onde definimos o nome da função, os parâmetros de entrada e o tipo de retorno/saída da função. O nome da função é dado de acordo com a preferência do criador ou desenvolvedor da função. Os parâmetros de entrada, que podem ser: nenhum, um ou vários, e de tipos definidos pelo desenvolvedor, que podem ser utilizadas dentro do escopo principal como constantes (variáveis que possuem um valor definido e que não podem ser alterados). Já o retorno/saída da função delimita que tipo de dado será retornado ao ser executada. Esses tipos podem variar desde tipos primitivos – número, lógico, texto, etc. – a tipos complexos de dados – conjunto de registros, tipos criados, vetores, etc.

O escopo principal é a parte onde declaramos as variáveis que serão utilizadas durante a execução da função e também é onde programamos em uma linguagem escolhida (plPgSQL, SQL, Perl, C, etc.) o que acontecerá na função, ou seja, a parte principal, como o próprio nome já diz."

[...] continue lendo...
Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados