Salta ai contenuti

Funzioni definite dall'utente

Quando vuoi insegnare al database una piccola operazione nuova

Sezione intitolata “Quando vuoi insegnare al database una piccola operazione nuova”

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.

Pensa a una calcolatrice con un tasto personalizzato. Premi quel tasto, gli dai un numero, e lei ti restituisce il risultato del calcolo che usi spesso.

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 sempre la stessa formula, dai un nome a quell’idea.

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 scorciatoia mentale aiuta molto quando inizi.