Salta ai contenuti
Manuale LogoManuale Logo

Funzioni definite dall'utente

Una funzione definita dall’utente permette di aggiungere una nuova funzione al tuo database. È simile a una stored procedure, ma in genere nasce per restituire un valore o un risultato.

La funzione riceve argomenti ed esegue il calcolo definito, restituendo un valore.

CREATE FUNCTION prezzo_con_iva(prezzo DECIMAL(10,2))
RETURNS DECIMAL(10,2)
BEGIN
RETURN prezzo * 1.22;
END;

Se hai un calcolo o una trasformazione che si ripete spesso, racchiuderla in una funzione può rendere il codice più ordinato.

Invece di riscrivere la stessa formula, puoi darle un nome.

Potresti poi usarla in una query:

SELECT nome, prezzo_con_iva(prezzo) AS prezzo_finale
FROM prodotti;

Qui prezzo_con_iva restituisce un valore calcolato per ogni prodotto.

Non è una regola assoluta per tutti i database, ma puoi pensare così:

  • la procedura esegue passi
  • la funzione restituisce qualcosa

Questa distinzione è utile quando inizi.