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.