Une fonction stockée est un programme stocké dans la zone de métadonnées d'une base de données et exécuté du côté du serveur. Une fonction stockée est accessible aux procédures stockées, aux fonctions stockées (y compris elle-même), aux déclencheurs et aux programmes clients. Lorsqu'une fonction stockée se réfère à elle-même, cette fonction stockée est dite récursive.
Contrairement aux procédures stockées, les fonctions stockées renvoient toujours une seule valeur scalaire. Pour renvoyer une valeur à partir d'une fonction stockée, on utilise l'opérateur RETURN, qui met immédiatement fin à la fonction.