Procedura składowana a funkcja
Procedury i funkcje przechowywane to dwa rodzaje bloków programowania. Oba muszą mieć dzwoniące nazwiska. Te nazwy wywołujące są używane do wywoływania ich w innym bloku programowania, takim jak funkcje procedur i pakiety lub zapytania SQL. Oba typy obiektów akceptują parametry i wykonują zadanie za tymi obiektami. To jest składnia (w ORACLE), aby utworzyć procedurę składowaną,
utwórz lub zastąp procedurę nazwa procedury (parametry)
tak jak
zaczynać
sprawozdania;
wyjątek
Obsługa wyjątków
koniec;
A oto składnia do utworzenia funkcji (w ORACLE),
utwórz lub zamień funkcję nazwa_funkcji (parametry)
return return_datatype
tak jak
zaczynać
sprawozdania;
return return_value / zmienna;
wyjątek;
Obsługa wyjątków;
koniec;
Procedury przechowywane
Jak wspomniano powyżej, procedury składowane nazywane są blokami programowania. Akceptują parametry jako dane wejściowe i przetwarzają użytkownika zgodnie z logiką procedury i dają wynik (lub wykonują określone działanie). Te parametry mogą być typu IN, OUT i INOUT. Deklaracje zmiennych, przypisania zmiennych, instrukcje sterujące, pętle, zapytania SQL i inne funkcje / wywołania procedur / pakietów mogą znajdować się w treści procedur.
Funkcje
Funkcje są również nazywane blokami programistycznymi, które muszą zwrócić wartość za pomocą instrukcji RETURN, a zanim zwróci wartość, jej ciało wykonuje również pewne działania (zgodnie z podaną logiką). Funkcje akceptują również parametry do uruchomienia. Funkcje mogą być wywoływane w zapytaniach. Gdy funkcja jest wywoływana w zapytaniu SELECT, ma zastosowanie do każdego wiersza zestawu wyników zapytania SELECT. Istnieje kilka kategorii funkcji ORACLE. Oni są,
Istnieją podkategorie funkcji jednego wiersza.
Jaka jest różnica między funkcją a procedurą składowaną? • Wszystkie funkcje muszą zwracać wartość za pomocą instrukcji RETURN. Procedury składowane nie zwracają wartości za pomocą instrukcji RETURN. Instrukcja RETURN wewnątrz procedury zwróci kontrolę nad programem wywołującym. Parametry OUT można wykorzystać do zwrócenia wartości z procedur przechowywanych. • Funkcje mogą być wywoływane wewnątrz zapytań, ale procedur przechowywanych nie można używać wewnątrz zapytań. • Aby utworzyć funkcję, należy podać typ danych RETURN, ale w procedurze przechowywanej DDL tak nie jest. |