Sobes.tech
Middle

Differenze tra procedura e funzione

sobes.tech AI

Risposta dell'AI

Procedura e funzione sono sotto-programmi in database e programmazione, ma ci sono differenze chiave:

  • La funzione restituisce sempre un valore e può essere usata in espressioni, ad esempio in SELECT.
  • La procedura può eseguire azioni (ad esempio, modificare dati), ma non è obbligata a restituire un valore direttamente.

Esempio in SQL (PL/pgSQL):

-- La funzione restituisce la somma di due numeri
CREATE FUNCTION add_numbers(a INT, b INT) RETURNS INT AS $$
BEGIN
  RETURN a + b;
END;
$$ LANGUAGE plpgsql;

-- La procedura inserisce una riga nella tabella
CREATE PROCEDURE insert_user(name TEXT) AS $$
BEGIN
  INSERT INTO users(username) VALUES (name);
END;
$$ LANGUAGE plpgsql;

Le funzioni sono generalmente usate per calcoli e restituiscono un risultato, le procedure — per eseguire operazioni, spesso con effetti collaterali.