O que são Funções e Procedimentos PSQL?
O PSQL (Procedural SQL) é a extensão da linguagem SQL do Firebird que permite a criação de rotinas complexas diretamente no banco de dados. Ao utilizar PSQL, conseguimos reduzir drasticamente o tráfego de rede entre a aplicação e o servidor, além de garantir que a regra de negócio seja aplicada independentemente do front-end utilizado.
O que podemos fazer com PSQL
- Stored Procedures: Execução de tarefas em lote ou retorno de conjuntos de dados (Selectable Procedures).
- Triggers: Automação de auditorias, validações complexas e manutenção de integridade referencial antes ou depois de operações de DML.
- Stored Functions: Criação de funções customizadas que podem ser utilizadas diretamente dentro de cláusulas SELECT ou WHERE.
- Tratamento de Exceções: Controle refinado de erros com mensagens personalizadas para o usuário final.
Exemplo Prático: Stored Function
Abaixo, um exemplo de uma função simples para calcular o desconto progressivo de um produto diretamente no motor do banco:
SET TERM ^ ;
CREATE OR ALTER FUNCTION FN_CALCULAR_DESCONTO (
VALOR_ITEM DOUBLE PRECISION,
PERCENTUAL DOUBLE PRECISION
)
RETURNS DOUBLE PRECISION
AS
BEGIN
IF (PERCENTUAL > 50) THEN
EXCEPTION EX_DESCONTO_ABUSIVO;
RETURN VALOR_ITEM * (1 - (PERCENTUAL / 100));
END^
SET TERM ; ^
Conclusão
Dominar o PSQL transforma o banco de dados de um mero repositório de tabelas em uma camada inteligente da aplicação. Isso resulta em sistemas mais rápidos, seguros e fáceis de manter a longo prazo.