W tej części omówimy działanie narzędzia Funkcje PostgreSQL, utwórz funkcję polecenie i zobacz przykład w czasie rzeczywistym Polecenie PostgreSQL UTWÓRZ FUNKCJĘ przy użyciu różnych narzędzi PostgreSQL, takich jak pgadmin4 I Powłoka SQL (PSQL).
I zobacz przykład wywołania a funkcja zdefiniowana przez użytkownika Jak na przykład notacja pozycyjna zwana notacją, notacja mieszana.
Co to jest funkcja PostgreSQL?
Funkcja PostgreSQL lub a procedura składowana to zestaw poleceń SQL i proceduralnych, takich jak deklaracje, przypisania, pętle, przepływ kontroli itp. przechowywane na serwerze bazy danych i mogą być zaangażowane przy użyciu Interfejs SQL . I jest również znany jako Procedury zapisane w PostgreSQL .
Funkcje PostgreSQL możemy tworzyć w językach serwalowych, np. SQL-a , PL/pgSQL , C , Pyton itp.
Umożliwia nam wykonywanie operacji, które zazwyczaj wymagałyby różnych poleceń i operacji w obrębie funkcji w bazie danych.
Co to jest polecenie PostgreSQL CREATE Function?
W PostgreSQL, jeśli chcemy określić nową funkcję zdefiniowaną przez użytkownika, możemy użyć UTWÓRZ FUNKCJĘ Komenda.
Składnia polecenia PostgreSQL CREATE Function
Składnia dla Polecenie PostgreSQL CREATE Funkcja następująco:
CREATE [OR REPLACE] FUNCTION function_name (arguments) RETURNS return_datatype LANGUAGE plpgsql AS $variable_name$ DECLARE declaration; [...] -- variable declaration BEGIN [...] -- logic RETURN variable_name END; $$
W powyższej składni użyliśmy następujących parametrów, jak pokazano w poniższej tabeli:
Menedżer zadań dla Linuksa
Parametry | Opis |
---|---|
nazwa_funkcji |
|
[LUB ZAMIEŃ] |
|
Funkcjonować |
|
POWRÓT |
|
Język plpgsql |
|
Funkcja_treść |
|
Przykład polecenia PostgreSQL Utwórz funkcję
Spójrzmy na inny przykład, aby zrozumieć działanie narzędzia Funkcja UTWÓRZ PostgreSQL Komenda.
Bierzemy Samochód stolik z Punkt Java baza danych utworzona w samouczku PostgreSQL.
Tworzenie nowej funkcji
W poniższym poleceniu tworzymy nową funkcję, która zlicza Samochody którego Cena_samochodu pomiędzy Cena_od i Cena_do parametry:
Create function get_car_Price(Price_from int, Price_to int) returns int language plpgsql as $$ Declare Car_count integer; Begin select count(*) into Car_count from Car where Car_price between Price_from and Price_to; return Car_count; End; $$;
The get_car_Price Funkcja jest podzielona na dwie główne sekcje, którymi są Nagłówek i treść funkcji .
W pliku użyliśmy następujących parametrów nagłówek Sekcja:
- Przede wszystkim podajemy nazwę funkcji jako get_car_Price(), która jest napisane po utwórz funkcję
- Po tym, get_car_Price() funkcja zawiera dwa parametry Cena od I Cena_do, posiadający typ danych typu całkowitego.
- A później get_car_Price() funkcja pobiera liczbę całkowitą zdefiniowaną przez warunek return int.
- Na koniec użyliśmy języka funkcyjnego as plpgsql .
W pliku użyliśmy następujących parametrów Ciało funkcji Sekcja:
- Skorzystaliśmy z ciąg cytowany w dolarach stała ilustracja w sekcji funkcji, która zaczyna się od $$ i kończy się $$ .
- Pomiędzy $$ znak, możemy umieścić blok, który zakrywa Deklaracja I logika funkcji .
- W bloku deklaracji zadeklarowaliśmy zmienną o nazwie liczba_samochodów, który przechowuje samochody wybrane z Samochód
- W treści sekcji blokowej użyliśmy metody WYBIERZ W polecenie, aby wybrać cenę samochodów, których wartości znajdują się pomiędzy Cena_od i Cena_do i podaj dane wyjściowe do Liczba_samochodów
- Na końcu bloku użyliśmy POWRÓT polecenie uzyskania
Tworzenie funkcji w PostgreSQL
W PostgreSQL funkcję możemy utworzyć na dwa sposoby:
PostgreSQL Utwórz funkcję za pomocą pgAdmin
Będziemy postępować zgodnie z poniższym procesem, aby utworzyć funkcję w pgAdmin:
Krok 1
Najpierw otworzymy najnowszą wersję pgAdmin w naszym systemie lokalnym, a my przejdziemy do drzewa obiektów i połączymy się z Punkt Java przykładowa baza danych, w której chcemy utworzyć funkcję.
Krok 2
Następnie otworzymy narzędzie do wysyłania zapytań, klikając Narzędzie do wysyłania zapytań w sekcji Narzędzia, jak widać na poniższym zrzucie ekranu:
konwencja nazewnictwa Java
Krok 3
Aby utworzyć get_car_Price1() funkcji, użyjemy powyższego kodu w pliku narzędzie do wysyłania zapytań i kliknij Wykonać przycisk.
Po zaimplementowaniu powyższego polecenia otrzymamy poniższy komunikat pokazujący, że funkcja została wykonana get_car_Price1() był Utworzony pomyślnie do podobnej bazy danych.
I możemy zidentyfikować funkcję get_car_Price() w Funkcje lista, jak widać na poniższym zrzucie ekranu:
Uwaga: Jeżeli nie możemy zidentyfikować nazwy funkcji, możemy kliknąć prawym przyciskiem myszy węzeł Funkcje i wybrać z menu opcję Odśwież..., aby odświeżyć listę funkcji:
Tworzenie funkcji przy użyciu powłoki SQL (psql)
Będziemy postępować zgodnie z poniższym procesem, aby utworzyć tabelę psql :
Krok 1
- Najpierw otworzymy plik psql w naszym systemie lokalnym i połączymy się z bazą danych, w której chcemy utworzyć funkcję.
- Stworzymy tabelę w pliku javatpoint bazę danych, którą utworzyliśmy wcześniej w samouczku PostgreSQL.
Krok 2
- Aby połączyć się z bazą danych, wpiszemy poniższe polecenie:
c javatpoint
Wyjście
Po wykonaniu powyższego polecenia otrzymamy następujące dane wyjściowe:
Uwaga: Jeśli wprowadzimy podobne polecenie jak powyżej, aby utworzyć funkcję, w psql, wyświetli się następujący błąd: funkcja get_car_price już istnieje z tymi samymi typami argumentów.
Dlatego, aby rozwiązać ten błąd, tworzymy nową funkcję jako get_car_Price1 () w następnym kroku.
Krok 3
lista tablic posortowana
Wprowadzimy poniższe polecenie, aby utworzyć funkcję Jak get_car_Price1 () w javatpoint Baza danych.
javatpoint=# Create function get_car_Price1(Price_from int, Price_to int) javatpoint-# returns int javatpoint-# language plpgsql javatpoint-# as javatpoint-# $$ javatpoint$# Declare javatpoint$# Car_count integer; javatpoint$# Begin javatpoint$# select count(*) javatpoint$# into Car_count javatpoint$# from Car javatpoint$# where car_price between Price_from and Price_to; javatpoint$# return Price_count; javatpoint$# End; javatpoint$# $$;
Wyjście
Po wykonaniu powyższego polecenia otrzymamy następujące dane wyjściowe, które wyświetlają, że get_car_Price_count1() funkcja została pomyślnie utworzona.
Krok 4
Możemy użyć poniższego polecenia, aby wyświetlić listę wszystkich funkcji zdefiniowanych przez użytkownika w istniejącej bazie danych.
javatpoint=# df
Wyjście
Po wykonaniu powyższego polecenia otrzymamy poniższe dane wyjściowe:
Jak wywołać funkcję zdefiniowaną przez użytkownika
W PostgreSQL funkcję zdefiniowaną przez użytkownika możemy wywołać na trzy sposoby, które są następujące:
Wywołanie funkcji przy użyciu notacji pozycyjnej
Jeśli chcemy opisać argumenty w podobnej kolejności jak parametry, możemy wywołać funkcję za pomocą notacja pozycyjna pomoc.
hostowanie Linuksa
Zobaczmy przykładowy przykład, aby zrozumieć Notacja pozycyjna pracuje nad wywołaniem określonej funkcji.
W poniższym przykładzie get_car_price() argumenty są 26000 I 70000 , co jest równoważne Cena od I Cena_do parametry.
Select get_car_Price(26000,70000);
Wyjście
Po wykonaniu powyższego polecenia otrzymamy następujące dane wyjściowe, które pobierają te cztery wiersze, których cena_samochodu jest pomiędzy 26 000 do 70 000.
Gdy funkcja nie ma prawie żadnych parametrów, możemy wywołać funkcję za pomocą notacja pozycyjna .
Jeśli funkcja zawiera kilka parametrów, możemy użyć nazwana notacja wywołać określoną funkcję, ponieważ użycie metody nazwana notacja sprawi, że wywołanie funkcji będzie bardziej zrozumiałe.
Wywołanie funkcji przy użyciu notacji nazwanej
W poniższym przykładzie pokazujemy działanie wywołania metody get_car_Price() funkcja przy użyciu nazwanej notacji:
select get_car_Price( Price_from => 26000, Price_to => 70000 );
Wyjście
Po wykonaniu powyższego polecenia otrzymamy następujące dane wyjściowe, które wyświetlają cztery wiersze w oparciu o powyższy zakres cena_samochodu .
W notacji wspomnianej wcześniej użyliśmy => rozróżnić argumenty nazwa i wartość .
PostgreSQL pozwala na utworzenie starszej składni na := dla Kompatybilność wsteczna , jak widzimy w następującym poleceniu:
select get_car_Price( Price_from := 26000, Price_to := 70000 );
Wyjście
Po wykonaniu powyższego polecenia otrzymamy podobny wynik w porównaniu z wynikiem powyższego polecenia, w którym używamy „ =>' zamiast ':=' .
Wywołanie funkcji przy użyciu notacji mieszanej
Jest to grupowanie pozycyjne i nazwane notacje.
Zobaczmy przykładowy przykład, aby zrozumieć działanie Wywołanie funkcji przy użyciu notacji mieszanej.
w notacja mieszana , nie możemy użyć o nazwie Parametry zanim Parametry pozycyjne .
Na przykład:
W poniższym poleceniu użyjemy metody nazwane pojęcie Do Cena od parametr jako Cena_od=>26000, natomiast dla Cena_do parametru, użyliśmy parametru pojęcie pozycyjne Jak 70000 , jak widzimy w poniższym poleceniu:
ścieżka ustawiona w Javie
select get_car_Price(Price_from=>26000,70000);
Wyjście
Po wykonaniu powyższego polecenia PostgreSQL zgłasza błąd, który informuje, że plik argument pozycyjny nie może następować po nazwanym argumencie .
Aby rozwiązać powyższy błąd, używamy notacja pozycyjna i nazwana Do get_car_price() funkcja, gdzie 26000 służy do reprezentowania Notacja pozycyjna; z drugiej strony, Cena_do=>70000 służy do reprezentowania nazwana notacja :
select get_car_Price(26000,Price_to=>70000);
Wyjście
Po wykonaniu powyższego polecenia otrzymamy poniższe dane wyjściowe, które zwracają te samochody, których cena_samochodu wynosi od 26 000 do 70 000.
Przegląd
w Funkcja PostgreSQL sekcji poznaliśmy następujące tematy:
- Skorzystaliśmy z UTWÓRZ funkcję polecenie utworzenia funkcji zdefiniowanej przez użytkownika dla konkretnej tabeli.
- Zrozumieliśmy proces wywołanie funkcji zdefiniowanej przez użytkownika za pomocą różnych oznaczeń, np Pozycyjne, nazwane i mieszane.