PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Funkcja tworzenia PostgreSQL

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nazwa tabeli lub kolumny nie może zaczynać się od cyfry?

  2. Optymalizacja zapytań w PostgreSQL. WYJAŚNIJ podstawy – część 3

  3. Czy mogę wycofać już zatwierdzoną transakcję? (utrata danych)

  4. Zakończ zawieszone zapytanie (bezczynne w transakcji)

  5. Odwołaj się do aliasu nazwy kolumny w klauzuli WHERE