Middle
Diferenças entre procedimento e função
sobes.tech IA
Resposta da IA
Procedimento e função são subprogramas em bancos de dados e programação, mas há diferenças-chave entre eles:
- A função sempre retorna um valor e pode ser usada em expressões, por exemplo, em SELECT.
- O procedimento pode realizar ações (por exemplo, alterar dados), mas não é obrigatório retornar um valor diretamente.
Exemplo em SQL (PL/pgSQL):
-- A função retorna a soma de dois números
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
RETURN a + b;
END;
$$ LANGUAGE plpgsql;
-- O procedimento insere um registro na tabela
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;
Funções geralmente são usadas para cálculos e retornam um resultado, procedimentos — para executar operações, muitas vezes com efeitos colaterais.