U moet een functie gebruiken in plaats van een procedure. Een procedure retourneert een (een of meerdere) resultatensets (tabellen), terwijl een functie een enkele waarde retourneert.
U moet twee keer nadenken voordat u functies in de waar-clausule gebruikt, als ze select-clausules uit de database bevatten, omdat dit kan leiden tot een situatie waarin de query-optimizer het querypad niet kan optimaliseren, wat resulteert in geserialiseerde query's en slechte prestaties. Als de hoeveelheid gegevens klein is of als u akkoord gaat met de mogelijke prestatiehit, zou dit werken.