Dovresti usare una funzione invece di una procedura. Una procedura restituisce un (uno o più) set di risultati (tabelle), mentre una funzione restituisce un singolo valore.
Dovresti pensarci due volte prima di utilizzare le funzioni in where-clause, se contengono clausole select dal database, poiché potrebbe portare a situazioni in cui Query Optimizer non è in grado di ottimizzare il percorso della query risultando query serializzate e prestazioni scadenti. Se la quantità di dati è piccola o sei d'accordo con il possibile aumento delle prestazioni, funzionerebbe.