sql >> Databáze >  >> RDS >> PostgreSQL

Funkce vytvoření PostgreSQL

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!

  1. Master High Availability Manager (MHA) se zhroutil! Co teď dělám?

  2. Najděte duplicitní záznamy v MySQL

  3. Automatická oprava plánu v SQL Server

  4. JPA Názvy tabulek velkými písmeny