Chociaż używamy funkcji lub procedur w PostgreSQL, pozwala nam przekazywać dane z wywołania funkcji do procedur, a jednocześnie może odbierać dane z funkcji. To konkretne działanie lub funkcjonalność odbywa się tylko za pomocą parametrów. Jeśli chodzi o dyskusję na temat nazwanych parametrów, musimy zadeklarować funkcje. Zobaczymy teraz, jak funkcje działają z PostgreSQL.
Funkcje
Funkcje postgresql są również uważane za procedury. Służą one do wykonywania operacji, które zwykle mogą wymagać kilku zapytań, jeśli bez użycia funkcji chcemy wykonać dowolną logikę. Ale tworząc funkcje, możemy wykonać dowolny scenariusz w jednej procedurze; Do rozpoczęcia operacji potrzebne jest tylko wywołanie funkcji.
Składnia
Utwórz [lub zastąpienie] Nazwa funkcji_of_function (argumenty)Opis:
Istnieją dwa rodzaje parametrów, które są przekazywane przez funkcję.
Nazwany parametr
Jeśli określamy parametry funkcji za pomocą nazwanej notacji, jest to nazwany parametr, a strzałka z wartością parametru jest następuje.
Parametry pozycyjne
Jeśli bezpośrednio użyjemy wartości parametrów pozycji jako notacji pozycji, wówczas parametry muszą być wymienione w tej samej kolejności, w jakiej są one zadeklarowane. Podczas gdy w przypadku wymienionej notacji nie jest obowiązkowe określenie zamówienia.
Realizacja
Aby opracować pojęcie nazwanego parametru, najpierw utworzymy funkcję lub procedurę w PostgreSQL. Funkcja o nazwie „L_U_CACE” jest tworzona do pracy na strunach wysyłanych do niej za pomocą wywołania funkcji. Przekształca słowa w górną lub dolną obudowę. Tworząc funkcję, główną funkcją są jej parametry zawierające zmienne do odbierania danych. Tak więc w tej funkcji utworzyliśmy dwie zmienne typu tekstowe do przechowywania w nim danych. A trzecia zmienna to typ logiczny. Powszechnie wiadomo, że wartość zmiennej flagi logicznej jest albo prawdziwa lub fałszywa. Zatem zmienna wielowarstwa jest domyślnie ustawiona jako Fałsz. Oznacza to, że jeśli użytkownik używa wywołania funkcji bez wspominania nazwy obudowy, górnej lub dolnej, to domyślnie tekst jest konwertowany na małe litery, jeśli znajduje się również w literach górnych obudowy.
Utwórz funkcję L_U_CACE (tekst, U Domyślny Fałsz)Wybierz polecenie jest używane tutaj do wyboru obudowy za pomocą trzeciej zmiennej. Jeśli obecna jest trzecia zmienna, która jest logiczna dla górnej części, wówczas połącz oba ciągnie obecne w zmiennych „A” i „B”. Każdy ciąg jest połączony z pustą przestrzenią między nimi. W drugiej opcji, jeśli zmienna logiczna nie jest wymieniona, dolna sprawa jest stosowana z tą samą metodą konkatenacji. Po wykonaniu wyświetlany jest następujący komunikat.
Teraz zastosujemy zarówno nazwany parametr jako wymienioną notację, jak i notację pozycyjną.
Notacja pozycyjna
W tym przykładzie wywołanie funkcji jest wykonane z wartościami zapisanymi bezpośrednio bez użycia jakiejkolwiek zmiennej jako argumentu dla wywołania funkcji. Wywołanie funkcji odbywa się za pomocą instrukcji Select. Nazwa funkcji jest zapisywana z parametrami.
>> Wybierz l_u_case („Linux”, „wskazówka”, true);Podczas egzekucji wielka jest połączona wielka część łańcuchów; Dzieje się tak, ponieważ wspomnieliśmy o wielkim poziomie jako trzecim parametrze.
Podczas gdy jeśli usuniesz trzeci parametr, wówczas wynikowa wartość będzie w alfabetach dolnej sprawy.
>> Wybierz L_U_Case („Linux”, „wskazówka”);Nazwana notacja
Tutaj wartości nie są bezpośrednio przypisywane do zmiennych w parametrze, ale zmienne, których używamy w funkcjach, są również używane w wywołaniu funkcji. W ten sposób wszystkie zmienne zostaną przydzielone wartości. Wartość logiczna „U” jest również przypisana do prawdziwej wartości.
>> Wybierz l_u_case (a => 'Linux', b => 'wskazówka', u => true);Ponadto operator, który tu wydany nie jest znakiem równym. Jeśli używasz prostego znaku równego lub dowolnego innego znaku w miejscu tego operatora, powstaje błąd składni.
Podczas wykonywania powyższego polecenia zobaczysz, że ten sam ciąg jest wyświetlany z literami górnej części. Podobnie, usuwając wymienioną notację dla górnej części, sznurki w niższym przypadku będą domyślnie wyświetlane.
Oprócz pozycji i wymienionej notacji istnieje trzecia forma, notacja „mieszana”, która zawiera zarówno wymienioną, jak i notację pozycji. Rozważmy ten sam przykład, jak opisano powyżej. Bezpośrednio wspomnimy o strunach w parametrze w wywołaniu funkcji, podczas gdy zmienna logiczna „U” zostanie przypisana wartość za pomocą nazwanego parametru.
>> Wybierz l_u_case („Linux”, „wskazówka”, u => true);Nie ma żadnych zmian w wyniku.
Przykład 2
Oto kolejny przykład tabeli o nazwie próbki; Używamy instrukcji „Utwórz”, aby utworzyć funkcję. Dwie wartości zostaną zamienione za pomocą tej funkcji. Obie zmienne są wprowadzane do funkcji. Wartości wewnątrz tych zmiennych, wysyłane przez parametr funkcji, zostaną zamienione.
Wybierz x, y na y, x;Wykonaj polecenie, a zobaczysz, że funkcja jest tworzona. Teraz wykonamy proste wywołanie funkcji za pomocą notacji pozycyjnej. Użyjemy tylko liczb zaakceptowanych przez zmienne zadeklarowane w funkcji.
>> Wybierz * z próbki (531, 902);Po wykonaniu widać, że wartości obu zmiennych są zamieniane. Ale może to pomylić, ponieważ ktoś może nie znać wartości x i wartości y w momencie wywołania funkcji. Więc ten problem jest rozwiązywany według parametrów nazwy. Każda wartość jest przypisywana do zmiennej jako parametru w momencie wywołania funkcji.
>> Wybierz * z swapper (x => 198, y => 457);Podczas wykonywania wywołania funkcji oba wartości są przypisane. A po wykonaniu każda wartość jest zamieniona.
Wniosek
„Postgres nazwany Procedura” opisuje funkcję, jej użycie z parametrami, a także typy parametrów, które PostgreSQL pozwala użytkownikowi korzystać. Istnieją dwie podstawowe zapisy parametrów. Oba są wyjaśnione przykładami, aby użytkownik mógł łatwo rozróżnić oba te zapisy.