Funkcje PostgreSQL to procedury składowane, które umożliwiają przechowywanie zestawu operacji bazy danych w funkcji, która może być wywoływana wielokrotnie bez ręcznego wpisywania instrukcji za każdym razem. Jest to doskonałe narzędzie do ponownego wykorzystania baz danych i automatyzacji w aplikacjach. Można go również używać do tworzenia funkcji zdefiniowanych przez użytkownika i procedur składowanych. Oto jak używać polecenia tworzenia funkcji PostgreSQL.
Funkcja tworzenia PostgreSQL
Oto składnia 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; W powyższym zapytaniu musisz określić
nazwa_funkcji – nazwa funkcji
[OR REPLACE] – opcjonalne słowo kluczowe do modyfikacji istniejącej funkcji
function_body – zestaw operacji do wykonania w ramach funkcji
powrót oświadczenie z lub bez zwracanej zmiennej/wartości
deklaruj zmienne do przechowywania wartości funkcji
język – PostgreSQL umożliwia zdefiniowanie funkcji w różnych językach, takich jak PostgreSQL, SQL, C, Python i inne języki proceduralne.
Przeczytaj bonus:Schemat tworzenia PostgreSQL
Przykład tworzenia funkcji
Oto przykład tworzenia procedury składowanej w PostgreSQL. Załóżmy, że masz następującą tabelę sprzedaż
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
Przeczytaj bonus:Utwórz bazę danych PostgreSQL
Stwórzmy funkcję total(), która zlicza liczbę wierszy w sprzedaż stół
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
W powyższym zapytaniu zdefiniowaliśmy funkcję total() w taki sposób, że wykonuje ona zapytanie SQL wymienione między BEGIN i END i przechowuje wynik w zadeklarowanej zmiennej $total , która jest zwracana po wykonaniu funkcji.
Oto jak wykonać funkcję PostgreSQL
postgres=# select total();
total
-------
10
Przeczytaj bonus:Jak utworzyć histogram w PostgreSQL
Mamy nadzieję, że powyższy samouczek pomoże Ci stworzyć funkcję zdefiniowaną przez użytkownika i procedurę składowaną w PostgreSQL.
Ubiq ułatwia wizualizację danych w ciągu kilku minut i monitorowanie w pulpitach nawigacyjnych w czasie rzeczywistym. Wypróbuj już dziś!