A tárolt eljárás és a felhasználó által definiált függvény (UDF) olyan SQL és eljárási utasítások (deklarációk, hozzárendelések, ciklusok, vezérlési folyamatok stb.), amelyeket az adatbázis-kiszolgálón tárolnak, és az SQL-felület segítségével hívhatók meg.
Gyors példa:
A PostgreSQL-ben mind a tárolt eljárásokat, mind a felhasználó által definiált függvényeket a CREATE FUNCTION utasítással hozzuk létre. Az adatbázis-rendszerekben a tárolt eljárások és a függvények fogalma között különbségek vannak:
Tárolt eljárás | Funkció | ||
Kifejezésben való használat | . | ||
Visszaad egy értéket | |||
Visszaadja az értékeket OUT-ként. paraméterek | |||
Egyetlen eredményhalmaz visszaadása | (mint egy táblázatfüggvény) | ||
Több eredményhalmaz visszaadása |
A legtöbb esetben tehát, a tárolt eljárások célja:
-
Eredmény visszaadása nélküli műveletek végrehajtása (INSERT, UPDATE műveletek i.pl.)
-
Egy vagy több skalárérték visszaadása OUT paraméterként
-
Egy vagy több eredményhalmaz visszaadása
A felhasználó által definiált függvények célja általában a bemeneti paraméterek feldolgozása és egy új érték visszaadása.
Beszámolóeszközök
Néhány beszámolóeszköz (Crystal Reports, Reporting Services, BI-eszközök stb.) lehetővé teszi egy lekérdezés (SQL SELECT utasítás) vagy egy eredményhalmazt visszaadó tárolt eljárás megadásával egy jelentés adathalmazának meghatározását.
A tárolt eljárások nagyon hasznosak, ha összetett számításokat kell elvégezni, mielőtt az adatok rendelkezésre állnának a jelentéshez.