Przykład procedury przechowywanej postgresql

Przykład procedury przechowywanej postgresql
Baza danych PostgreSQL jest bardziej niezawodna niż inne, ponieważ może tworzyć i przechowywać dane w postaci relacji, procedur itp. PostgreSQL to konfigurowalna baza danych, ponieważ możemy modyfikować kontenery pamięci zgodnie z naszymi wymaganiami. Dane w PostgreSQL są zarządzane przez schematy i katalogi. PostgreSQL obsługuje wiele języków, co oznacza, że ​​możemy wykonywać zapytania w dowolnym języku programowania w PSQL (Shell) lub po stronie PGADMIN.

Podobnie jak tabele tymczasowe, używamy również innych funkcji, aby obejmować pojemność przechowywania. Nazywa się to „procedurami składowymi”. Nie są one pokazane jak tabele. Ale cicho współpracuje z tabelami.

W PostgreSQL lub dowolnym innym systemie zarządzania bazą danych używamy funkcji do wykonywania operacji na danych. Te funkcje są utworzone przez użytkownika lub zdefiniowane przez użytkownika. Jedną z głównych wad tych funkcji jest to, że nie jesteśmy w stanie wykonywać transakcji w funkcjach. Nie możemy zatwierdzić ani wycofać. Dlatego używamy procedur składowanych. Korzystając z tych procedur, wydajność aplikacji jest zwiększona. Ponadto możemy użyć więcej niż jednej instrukcji SQL w jednej procedurze. Istnieją trzy rodzaje parametrów.

W: Jest to parametr wejściowy. Służy do wstawienia danych z procedury do tabeli.

NA ZEWNĄTRZ: Jest to parametr wyjściowy. Służy do zwrócenia wartości.

Inout: Reprezentuje parametry wejściowe i wyjściowe. Ponieważ mogą przekazać i zwraca wartość.

SKŁADNIA

Utwórz lub zastąp procedurę Procedura Nazwa (lista parametrów)
Język PLPGSQL
Jako $$
OGŁOSIĆ
(nazwy zmiennych procedury)
ZACZYNAĆ
--- Instrukcje SQL / logika / warunek.
Koniec $$

Zainstaluj PostgreSQL w swoim systemie. Po udanej konfiguracji możemy teraz uzyskać dostęp do bazy danych. Mamy dwie możliwości zastosowania zapytań. Jednym z nich jest skorupa PSQL, podczas gdy druga to pulpit pgadmin. W tym celu użyliśmy pgadmin. Otwórz pulpit nawigacyjny, podaj teraz hasło do utrzymania połączenia z serwerem.

Tworzenie procedury

Aby zrozumieć działanie procedury składowanej, musimy stworzyć związek za pomocą instrukcji Treat.

>> Utwórz ubrania stołowe (ID Serial, Nazwa Varchar (100), City Varchar (100), Color Varchar (100), Cena Liczba całkowita);

Zwykle wprowadzamy wartości w tabeli za pomocą instrukcji „Wstaw”, ale tutaj używamy procedury składowanej, która będzie używana jako tabela temperatury. Najpierw dane będą przechowywane w nich, a następnie dalej przesyłają dane w tabeli.

Utwórz nazwę procedury składowanej „AddClothes”. Ta procedura będzie działać jako medium między zapytaniem a tabelą. Ponieważ wszystkie wartości są najpierw wkładane w tej procedurze, a następnie są wstawiane przez polecenie Wstaw bezpośrednio do tabeli.

>> Utwórz lub zastąp procedurę AddClothes (C_ID INOUT INT, C_NAME VARCHAR (100), C_CITY VARCHAR (100), C_COLOR VARCHAR (100), C_PRICE Liczba całkowita)
Język PLPGSQL AS
$$ zacznij
Wstaw do ubrań (nazwa, miasto, kolor, cena) wartości (C_Name, C_CITY, C_COLOR, C_PRICE) Zwracanie identyfikatora C_ID;
Koniec $$;

Teraz wartości z procedury składowanej są wprowadzane do stołowych ubrania. Z zapytania jasno wynika, że ​​po pierwsze zdefiniowaliśmy procedurę sklepu z atrybutem nieco różnych nazw kolumn z tymi samymi typami danych. Następnie, za pomocą instrukcji Wstaw, wartości z wartości procedury przechowywanej są wprowadzane do tabeli.

Podobnie jak prosta funkcja, używamy wywołania funkcji, aby wysłać wartości jako argumenty w parametrze, aby procedura akceptowała te wartości.

>> Zadzwoń do addClothes (NULL, „T-shirt”, „Red”, „New York”, 1500);

Ponieważ nazwa procedury to „addClothes”, więc jest ona napisana z wartościami w taki sam sposób, jak bezpośrednio je piszemy w instrukcji Wstaw. Wyjście jest pokazane jako 1; Gdy użyliśmy metody powrotu, pokazuje to, że jeden wiersz jest wypełniony. Zobaczymy dane wstawione za pomocą instrukcji Select.

>> Wybierz * z ubrań;

Powtórz powyższą procedurę do zakresu, w jakim chcesz wprowadzić wartości.

Procedura przechowywana i klauzula „aktualizacja”

Teraz utwórz procedurę aktualizacji już istniejących danych w tabeli „Ubrania”. Pierwsza część zapytania w wprowadzaniu wartości do procedury przechowywanej jest taka sama.

$$ zacznij
Aktualizuj zestaw ubrań Nazwa = c_name, miasto = c_city, color = c_color, cena = c_price gdzie id = c_id;
Koniec $$

Teraz nazwiemy procedurę przechowywaną. Składnia połączeń jest taka sama, ponieważ wykorzystuje wartości tylko w parametrach jako argumenty.

Wyświetlany jest komunikat, który pokazuje, że zapytanie jest pomyślnie wykonywane z czasem wykonania. Użyj instrukcji Select, aby pobrać wszystkie rekordy, aby zobaczyć wymienione wartości.

Procedura z klauzulą ​​„Usuń”

Kolejna procedura sklepu, którego tutaj użyjemy, to „DeleTeclothes”. Ta procedura otrzyma tylko identyfikator jako wejście, a następnie zmienna jest używana do dopasowania identyfikatora do identyfikatora obecnego w tabeli. Po znalezieniu meczu wiersz jest odpowiednio usuwany.

>> Utwórz lub zastąp procedurę deleteClothes
(C_ID int
)
Język PLPGSQL AS
$$ zacznij
Usuń z ubrań, gdzie id = c_id;
Koniec $$

Teraz nazwiemy procedurę. Tym razem używany jest tylko jeden identyfikator. Ten identyfikator zlokalizuje wiersz, który ma zostać usunięty.

>> Zadzwoń do deleteClothes (2)

Rząd posiadający identyfikator „2” zostanie usunięty z tabeli.

>> Wybierz * z ubrań;

W stole były 3 rzędy. Teraz możesz zobaczyć, że pozostały tylko dwa rzędy, ponieważ wiersz z identyfikatorem „2” jest usuwany z tabeli.

Tworzenie funkcji

Po pełnej dyskusji na temat procedury składowanej rozważymy teraz, w jaki sposób funkcje zdefiniowane przez użytkownika są wprowadzane i używane.

>> Utwórz lub wymień funkcję getAllClothes () Zwraca kl
Język SQL
Jako $$
Wybierz * z ubrań;
$$;

Funkcja jest tworzona o tej samej nazwie co procedura składowana. Wszystkie dane z tabeli „ubrania” są wyświetlane w części wyjścia danych wyników. Ta funkcja powrotu nie przyjmuje żadnego argumentu w parametrze. Korzystając z tej funkcji, otrzymaliśmy dane, jak pokazano powyżej na obrazie.

Druga funkcja służy do uzyskania danych ubrań z określonego identyfikatora. Zmienna w liczbie całkowitej jest wprowadzana do parametru. Ten identyfikator zostanie dopasowany do identyfikatora w tabeli. W przypadku znalezienia dopasowania wyświetlany jest określony wiersz.

>> Utwórz lub wymień funkcję getClothesById (c_id int) zwraca ubrania
Język SQL
Jako $$
Wybierz * z ubrań, gdzie id = c_id;
$$;

Jako argument wywołamy funkcję posiadającą identyfikator, który chcemy pobrać rekordy z tabeli.

>> Wybierz * z Ferclothesbyid (3);

Stąd z wyjścia widać, że tylko jeden rząd jest pobierany z stołu „Ubrania”.

Wniosek

„Przykład procedury składowej postgresql” opracowuje przykłady z tworzeniem i operacją procedur. Funkcje miały wad, która została usunięta przez procedury przechowywane PostgreSQL. Opracowane są przykłady dotyczące procedur i funkcji, które będą wystarczające do uzyskania wiedzy na temat procedur.