🧩 FUNCTION no SQL

Introdução

Uma FUNCTION é uma rotina armazenada no banco de dados que recebe valores, executa uma lógica e retorna um resultado.

Diferente da Stored Procedure, uma Function sempre retorna um valor e pode ser utilizada diretamente dentro de comandos SQL.

📌 FUNCTION é uma rotina SQL que recebe dados e retorna um valor.

Function x Stored Procedure

FUNCTION STORED PROCEDURE
Sempre retorna valor Pode ou não retornar
Pode ser usada em SELECT Executada com CALL
Ideal para cálculos Ideal para processos
Recebe parâmetros Recebe parâmetros

Estrutura de uma FUNCTION


DELIMITER //

CREATE FUNCTION nome_funcao()

RETURNS tipo_dado

BEGIN

    comandos SQL;

    RETURN valor;

END //

DELIMITER ;
          

Criando uma FUNCTION Simples


DELIMITER //

CREATE FUNCTION dobro(numero INT)

RETURNS INT

DETERMINISTIC

BEGIN

    RETURN numero * 2;

END //

DELIMITER ;
          

Utilizando uma FUNCTION

Functions podem ser utilizadas dentro de consultas SQL.


SELECT dobro(10);
          

Resultado:

20

FUNCTION com Parâmetro


DELIMITER //

CREATE FUNCTION calcular_desconto(

valor DECIMAL(10,2)

)

RETURNS DECIMAL(10,2)

DETERMINISTIC

BEGIN

RETURN valor * 0.90;

END //

DELIMITER ;
          

Executando a FUNCTION


SELECT calcular_desconto(100);
          

Resultado:

90

Usando FUNCTION em uma Tabela


SELECT

nome,

calcular_desconto(preco)

FROM produtos;
          

A função será aplicada em cada registro retornado.

Características

Característica Descrição
Retorno obrigatório Sempre devolve um valor
Reutilização Pode ser chamada várias vezes
Organização Centraliza cálculos
Integração Usada em consultas SQL

Tipos de Retorno

Tipo Exemplo
INT Quantidade
DECIMAL Valores financeiros
VARCHAR Textos
DATE Datas

Removendo uma FUNCTION


DROP FUNCTION nome_funcao;
          

Consultando Functions Criadas


SHOW FUNCTION STATUS;
          

Aplicações no Mundo Real

Sistema Uso
Financeiro Cálculo de juros e descontos
E-commerce Cálculo de preços
RH Cálculo de benefícios
ERP Regras de negócio

Cuidados

Cuidado Motivo
Functions complexas Dificultam manutenção
Muitos cálculos Podem afetar desempenho
Falta de documentação Dificulta entendimento
Lógica excessiva Reduz flexibilidade

Boas Práticas

Resumo da Aula

🎓 Aula concluída! Agora você sabe criar e utilizar FUNCTIONS para executar cálculos e regras reutilizáveis no SQL.