Pohranjeni postupak prema funkciji
Pohranjeni postupci i funkcije dvije su vrste programskih blokova. Oboje moraju imati pozivna imena. Ta nazivna imena koriste se za pozivanje unutar drugog programskog bloka poput funkcija procedura i paketa ili SQL upita. Obje ove vrste objekata prihvaćaju parametre i izvršavaju zadatak iza tih objekata. Ovo je sintaksa (u ORACLE) za stvaranje pohranjene procedure,
stvoriti ili zamijeniti naziv procedure postupka (parametri)
kao
početi
izjave;
izuzetak
exception_handling
kraj;
A ovdje je sintaksa za stvaranje funkcije (u ORACLE),
kreiranje ili zamjena funkcije function_name (parametri)
return return_datatype
kao
početi
izjave;
return return_value / varijabla;
izuzetak;
exception_handling;
kraj;
Pohranjeni postupci
Kao što je gore spomenuto pohranjeni postupci nazivaju se programski blokovi. Oni prihvaćaju parametre kao korisnički unos i obradu u skladu s logikom koja stoji iza postupka i daju rezultat (ili obavljaju određenu radnju). Ovi parametri mogu biti IN, OUT i INOUT tipovi. Deklaracije varijable, dodjela varijabli, kontrolni izrazi, petlje, SQL upiti i ostale funkcije / postupak / paketni pozivi mogu se nalaziti unutar tijela procedura.
funkcije
Funkcije se nazivaju i programskim blokovima koji moraju vratiti vrijednost pomoću RETURN izraza, a prije nego što vrati vrijednost, tijelo također izvršava neke radnje (prema zadanoj logici). Funkcije također prihvaćaju parametre za pokretanje. Funkcije se mogu pozvati unutar upita. Kada se funkcija zove unutar SELECT upita, ona se primjenjuje na svaki red rezultata skupa upita SELECT. Postoji nekoliko kategorija ORACLE funkcija. Oni su,
Postoje potkategorije funkcija s jednim redom.
Koja je razlika između funkcije i pohranjenog postupka? • Sve funkcije moraju vratiti vrijednost koristeći RETURN izraz. Pohranjeni postupci ne vraćaju vrijednosti pomoću RETURN izraza. Izjava RETURN unutar postupka vratit će svoju kontrolu pozivnom programu. OUT parametri se mogu koristiti za vraćanje vrijednosti iz pohranjenih procedura. • Funkcije se mogu pozvati unutar upita, ali pohranjeni postupci se ne mogu koristiti unutar upita. • RETURN vrsta podataka mora biti uključena da bi se stvorila funkcija, ali u pohranjenoj proceduri DDL to nije. |