Sobes.tech
Middle

Différences entre procédure et fonction

sobes.tech IA

Réponse de l'IA

Une procédure et une fonction sont des sous-programmes dans les bases de données et la programmation, mais il existe des différences clés :

  • La fonction retourne toujours une valeur et peut être utilisée dans des expressions, par exemple dans SELECT.
  • La procédure peut effectuer des actions (par exemple, modifier des données), mais n'est pas obligée de retourner une valeur directement.

Exemple en SQL (PL/pgSQL) :

-- La fonction retourne la somme de deux nombres
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
  RETURN a + b;
END;
$$ LANGUAGE plpgsql;

-- La procédure insère une ligne dans la table
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
  INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;

Les fonctions sont généralement utilisées pour des calculs et retournent un résultat, les procédures — pour effectuer des opérations, souvent avec des effets secondaires.