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ś!