Sobes.tech
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.