Dla każdego, kto kiedykolwiek studiował języki programowania, takie jak C, C++ czy Java, koncepcja funkcji nie jest nowa. Funkcje to nic innego jak grupa instrukcji wykonywalnych. Korzystając z funkcji, możesz oszczędzić sobie ponownego pisania tej samej logiki programowania. Jak więc możemy zdefiniować funkcję w Oracle PL/SQL?
Co to są funkcje PL/SQL w bazie danych Oracle?
W Oracle Database możemy zdefiniować funkcję PL/SQL jako samodzielny podprogram, który ma wykonać określone, dobrze zdefiniowane zadanie. Funkcje są nazywane blokami PL/SQL, co oznacza, że mogą być przechowywane w bazie danych jako obiekt bazy danych i mogą być ponownie użyte. Jest to również powód, dla którego niektóre książki nazywają funkcje PL/SQL funkcjami przechowywanymi.
Typy funkcji PL/SQL w bazie danych Oracle
W Oracle Database istnieją dwa typy funkcji PL/SQL, są to
- Funkcje przekazywania według wartości i
- Funkcje przekazywania przez referencję
W Oracle Database oba typy funkcji powinny zwracać pewne wartości, a te wartości powinny być prawidłowym typem danych SQL lub PL/SQL.
Składnia funkcji PL/SQL w bazie danych Oracle
CREATE [OR REPLACE] FUNCTION function_name (Parameter 1, Parameter 2…) RETURN datatype IS Declare variable, constant etc. BEGIN Executable Statements Return (Return Value); END;
Omówiłem składnię funkcji PL/SQL wiersz po wierszu w samouczku wideo na moim kanale YouTube na ten sam temat. Sugeruję, abyś raz sprawdził ten samouczek.
Metoda wykonywania funkcji
W zależności od Twojej kreatywności i umiejętności programowania, funkcję PL/SQL można wywołać na wiele sposobów. Oto kilka ogólnych sposobów wywoływania funkcji PL/SQL w bazie danych Oracle
- Możesz użyć narzędzia SQL*Plus bazy danych Oracle do wywołania funkcji PL/SQL, która może być wywołana z PL/SQL jako instrukcja proceduralna.
- Anonimowy blok PL/SQL może być również użyty do wywołania funkcji.
- Możesz nawet wywołać funkcję bezpośrednio w instrukcji SELECT lub DML.
Bądź na bieżąco, omówimy każdą z tych metod wykonywania funkcji PL/SQL w następnym samouczku.
Ograniczenia w wywoływaniu funkcji
- Funkcja zwracająca typ danych SQL może być używana wewnątrz instrukcji SQL, a funkcja PL/SQL zwracająca typ danych PL/SQL działa tylko wewnątrz bloków PL/SQL. Wyjątkiem od tej reguły jest to, że nie można wywołać funkcji zawierającej operację DML w zapytaniu SQL. Możesz jednak wywołać funkcję, która wykonuje operację DML wewnątrz INSERT, UPDATE i DELETE.
- Funkcja wywołana z instrukcji UPDATE lub DELETE w tabeli nie może wysyłać zapytań (SELECT) ani wykonywać transakcji (DML) w tej samej tabeli.
- Funkcja wywoływana z wyrażeń SQL nie może zawierać polecenia TCL (COMMIT lub ROLLBACK) ani polecenia DDL (CREATE lub ALTER)
To wszystko w tym samouczku dotyczącym wprowadzenia do funkcji PL/SQL w bazie danych Oracle. Koniecznie sprawdź następny samouczek, w którym zademonstruję tworzenie funkcji PL/SQL na bardzo prostym przykładzie.
Upewnij się również, że udostępnisz tego bloga w swoich mediach społecznościowych, ponieważ co miesiąc rozdaję gadżety RebellionRider jednemu z losowo wybranych zwycięzców. Aby uzyskać dalsze aktualizacje, śledź mnie na moim Facebooku i Twitterze.
Dziękujemy za przeczytanie i życzę miłego dnia!