Postupci vs funkcije u programiranju
Postupci i funkcije u programiranju omogućuju programerima da grupiraju upute zajedno u jednom bloku i može ga se pozivati sa različitih mjesta u programu. Kôd postaje lakše razumljiv i kompaktniji. Izvođenjem izmjena na jednom mjestu zadesit će se čitav kod. Uz pomoć funkcija i postupaka; linearni i dugi kod mogu se podijeliti u neovisne odjeljke. Pružaju veću fleksibilnost kodiranju različitih programskih jezika i baza podataka.
Koje su funkcije?
Funkcije mogu prihvatiti parametre koji su također poznati kao argumenti. Oni izvršavaju zadatke u skladu s tim argumentima ili parametrima i vraćaju vrijednosti zadanih vrsta. To možemo bolje objasniti pomoću primjera: Funkcija prihvaća niz kao parametar i vraća prvi unos ili zapis iz baze podataka. U obzir se uzima sadržaj za određeno polje koje započinje takvim znakovima.
Sintaksa funkcije je sljedeća:
USTVARITE ILI ZAMJENITE FUNKCIJU my_func
(p_name IN VARCHAR2: = 'Jack') vrati varchar2 kao početak… kraj
Koji su postupci?
Postupci mogu prihvatiti parametre ili argumente i izvršavaju zadatke prema tim parametrima. Ako neka procedura prihvati niz kao parametar i daje popis s zapisima u bazi podataka za koje sadržaj određenog polja započinje s takvim znakovima.
Sintaksa postupaka je sljedeća:
PROCEDURA ILI ZAMJENA moj_proc
(p_name IN VARCHAR2: = 'Jack') kao početak… kraj
Uglavnom postoje dva načina na koji se parametar prenosi u funkcijama i postupcima; prema vrijednosti ili referenci. Ako je parametar prenesen vrijednošću; na izmjenu utječe unutar funkcije ili postupka bez utjecaja na njezinu stvarnu vrijednost.
S druge strane, ako se parametri prosljeđuju prema referencama; stvarna vrijednost ovog parametra bit će promijenjena gdje god se u okviru koda zove prema uputama.
Razlika između postupaka i funkcija • Kada se parametar prenese u proceduru; ne vraća nijednu vrijednost dok funkcija uvijek vraća vrijednost. • Jedna od glavnih razlika u obojici je ta što se procedure ne koriste u bazama podataka, dok funkcije igraju važnu ulogu u vraćanju vrijednosti iz baze podataka. • Postupci mogu vratiti više vrijednosti, a funkcije mogu vratiti ograničene vrijednosti. • DML operacije se mogu koristiti u pohranjenim procedurama; međutim, one nisu moguće u funkcijama. • Funkcije mogu vratiti samo jednu vrijednost i to je obvezno, dok procedure mogu vratiti n ili nula vrijednosti. • U funkcijama se ne može rukovati pogreškama, jer se može izvoditi u pohranjenim postupcima. • ulazni i izlazni parametri mogu se proslijediti u postupcima, dok u slučaju funkcija; mogu se proslijediti samo ulazni parametri. • Funkcije se mogu pozivati iz postupaka dok postupak nije moguće pozvati iz funkcije. • Upravljanje transakcijama može se uzeti u obzir u postupcima i ne može se uzeti u obzir u slučaju funkcija. |