Funkce PostgreSQL jsou uložené procedury, které vám umožňují uložit sadu databázových operací do funkce, kterou lze opakovaně volat, aniž byste pokaždé museli ručně zadávat pokyny. Je to skvělý nástroj pro opětovné použití databáze a automatizaci v aplikacích. Můžete jej také použít k vytvoření uživatelem definovaných funkcí a uložených procedur. Zde je návod, jak používat PostgreSQL příkaz create function.
Funkce vytvoření PostgreSQL
Zde je syntaxe PostgreSQL CREATE FUNCTION.
CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype AS $variable_name$ DECLARE declaration; [...] BEGIN < function_body > [...] RETURN { variable_name | value } END; LANGUAGE plpgsql;
Ve výše uvedeném dotazu musíte specifikovat
název_funkce – název funkce
[OR REPLACE] – volitelné klíčové slovo pro úpravu existující funkce
body_funkce – sada operací, které mají být provedeny jako součást funkce
návrat příkaz s nebo bez návratové proměnné/hodnoty
prohlásit proměnné k uložení funkčních hodnot
jazyk – PostgreSQL umožňuje definovat funkce v různých jazycích, jako je PostgreSQL, SQL, C, Python a další procedurální jazyky.
Bonusové čtení:Vytvořte schéma PostgreSQL
Příklad CREATE FUNCTION
Zde je příklad, jak vytvořit uloženou proceduru v PostgreSQL. Řekněme, že máte následující tabulku prodeje
postgres=# select * from sales; order_date | sale ------------+------ 2020-04-01 | 210 2020-04-02 | 125 2020-04-03 | 150 2020-04-04 | 230 2020-04-05 | 200 2020-04-10 | 220 2020-04-06 | 250 2020-04-07 | 215 2020-04-08 | 300 2020-04-09 | 250
Bonusové čtení:Vytvoření databáze PostgreSQL
Vytvořme funkci total(), která počítá počet řádků v prodeji tabulka
postgres=# CREATE OR REPLACE FUNCTION total() RETURNS integer AS $total$ declare total integer; BEGIN SELECT count(*) into total FROM sales; RETURN total; END; $total$ LANGUAGE plpgsql; CREATE FUNCTION
Ve výše uvedeném dotazu jsme definovali funkci total() tak, že provede SQL dotaz uvedený mezi BEGIN a END a uloží výsledek do deklarované proměnné $total , která se vrátí po provedení funkce.
Zde je návod, jak spustit funkci PostgreSQL
postgres=# select total(); total ------- 10
Bonusové čtení:Jak vytvořit histogram v PostgreSQL
Doufejme, že výše uvedený tutoriál vám pomůže vytvořit uživatelsky definovanou funkci a uloženou proceduru v PostgreSQL.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Zkuste to ještě dnes!