Uložené procedury a funkce v PostgreSQL – začínáme

Uložená procedura a uživatelsky definovaná funkce (UDF) je sada příkazů SQL a procedurálních příkazů (deklarací, přiřazení, cyklů, řízení toku atd.), které jsou uloženy na databázovém serveru a lze je vyvolat pomocí rozhraní SQL.

Rychlý příklad:

V PostgreSQL se uložené procedury i uživatelsky definované funkce vytvářejí pomocí příkazu CREATE FUNCTION. Mezi pojetím uložených procedur a funkcí v databázových systémech existují rozdíly:

Uložená procedura Funkce
Použití ve výrazu
Vrátit hodnotu
Vrátit hodnoty jako OUT parametry
Vrátit jednu množinu výsledků (jako např. tabulková funkce)
Vrátit více sad výsledků

Takže ve většině případů, je účelem uložené procedury:

  • Provádět akce bez vrácení výsledku (operace INSERT, UPDATE i.e.)
  • Vrátit jednu nebo více skalárních hodnot jako OUT parametry
  • Vrátit jednu nebo více sad výsledků

Obvykle je účelem uživatelsky definované funkce zpracovat vstupní parametry a vrátit novou hodnotu.

Reportovací nástroje

Mnoho reportovacích nástrojů (Crystal Reports, Reporting Services, nástroje BI atd.) umožňuje zadat dotaz (příkaz SQL SELECT) nebo uloženou proceduru vracející množinu výsledků a definovat tak množinu dat pro report.

Uložené procedury jsou velmi užitečné v případě, že potřebujete provést složité výpočty dříve, než jsou data pro sestavu k dispozici.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.