Procedura składowana oraz funkcja zdefiniowana przez użytkownika (UDF) to zbiór poleceń SQL oraz poleceń proceduralnych (deklaracje, przypisania, pętle, sterowanie przepływem itp.), które przechowywane są na serwerze bazy danych i mogą być wywoływane za pomocą interfejsu SQL.
Szybki przykład:
W PostgreSQL zarówno procedury składowane jak i funkcje definiowane przez użytkownika tworzone są za pomocą polecenia CREATE FUNCTION. Istnieją różnice pomiędzy pojęciem procedur składowanych i funkcji w systemach baz danych:
Procedura składowana | Funkcja | |
Zastosowanie w wyrażeniu | . | |
Zwróć wartość | ||
Zwróć wartości jako OUT parametry | ||
Zwróć pojedynczy zbiór wyników | (jako funkcja tabelaryczna) | |
Zwróć wiele zestawów wyników |
Tak więc w większości przypadków, celem procedury składowanej jest:
-
Wykonywanie akcji bez zwracania wyniku (operacje INSERT, UPDATE i.e.)
-
Zwracanie jednej lub więcej wartości skalarnych jako parametrów OUT
-
Zwracanie jednego lub więcej zbiorów wyników
Zwykle celem funkcji zdefiniowanej przez użytkownika jest przetwarzanie parametrów wejściowych i zwracanie nowej wartości.
Narzędzia do raportowania
Wiele narzędzi do raportowania (Crystal Reports, Reporting Services, narzędzia BI itp.) umożliwia określenie zapytania (instrukcja SQL SELECT) lub procedury składowanej zwracającej zestaw wyników w celu zdefiniowania zestawu danych dla raportu.
Procedury składowane są bardzo przydatne, gdy trzeba wykonać złożone obliczenia, zanim dane będą dostępne dla raportu.
.