Místo procedury byste měli použít funkci. Procedura vrací (jednu nebo více) sadu výsledků (tabulky), zatímco funkce vrací jednu hodnotu.
Měli byste si to dvakrát rozmyslet, než použijete funkce v klauzuli where, pokud obsahují klauzule select z databáze, protože to může vést k situaci, kdy optimalizátor dotazů nebude schopen optimalizovat cestu dotazu, což má za následek serializované dotazy a slabý výkon. Pokud je objem dat malý nebo jste v pořádku s možným zásahem do výkonu, fungovalo by to.