Funções
Em PostgreSQL, as funções são blocos de código reutilizáveis que você pode criar para realizar tarefas específicas. As funções podem aceitar parâmetros de entrada, processar esses parâmetros e retornar um valor. Elas são muito úteis para encapsular lógica de negócios complexa, melhorar a modularidade do código e reduzir a redundância.
Aqui está a sintaxe básica para criar uma função em PostgreSQL:
CREATE OR REPLACE FUNCTION nome_da_funcao(parâmetro1 tipo, parâmetro2 tipo, ...)
RETURNS tipo_de_retorno AS
$$
DECLARE
-- declarações de variáveis locais, se necessário
BEGIN
-- corpo da função
-- instruções SQL e lógica de negócios aqui
END;
$$
LANGUAGE plpgsql;
Neste exemplo:
nome_da_funcao
é o nome que você deseja dar à sua função.parâmetro1
,parâmetro2
, … são os parâmetros de entrada que sua função aceitará.tipo_de_retorno
é o tipo de dados que sua função retornará.DECLARE
é usado para declarar variáveis locais, se você precisar delas.- O corpo da função está entre
BEGIN
eEND;
e contém as instruções SQL e a lógica de negócios que sua função executará.
Aqui está um exemplo prático de uma função que retorna a soma de dois números:
CREATE OR REPLACE FUNCTION soma(a INT, b INT)
RETURNS INT AS
$$
BEGIN
RETURN a + b;
END;
$$
LANGUAGE plpgsql;
Depois de criar a função, você pode chamá-la em uma consulta SQL da seguinte forma:
SELECT soma(10, 5); -- Isso retornará 15
Você também pode criar funções que não retornam valores (procedimentos) ou funções que retornam tabelas ou conjuntos de resultados. O PostgreSQL suporta uma variedade de linguagens de programação para escrever funções, mas a linguagem de procedimento estruturado do PostgreSQL (PL/pgSQL) é a mais comum e poderosa para a maioria dos casos de uso.
Certifique-se de criar funções que sejam eficientes e bem documentadas, especialmente em ambientes de produção.