Shranjeni postopek proti funkciji
Shranjeni postopki in funkcije so dve vrsti programskih blokov. Oba morata imeti klicna imena. Ta klicna imena se uporabljajo za klic v drugem programskem bloku, kot so postopkovne funkcije in paketi ali poizvedbe SQL. Obe vrsti predmetov sprejemata parametre in opravljata nalogo za temi predmeti. To je skladnja (v ORACLE) za ustvarjanje shranjenega postopka,
ustvari ali zamenja ime imena postopka (parametri)
kot
začeti
izjave;
izjema
izjem_država
konec;
In tukaj je skladnja za ustvarjanje funkcije (v ORACLE),
ustvarite ali zamenjajte funkcijo ime-funkcije (parametri)
return return_datatype
kot
začeti
izjave;
return return_value / spremenljivka;
izjema;
izjeme_reševanje;
konec;
Shranjeni postopki
Kot že omenjeno, so shranjeni postopki imenovani programski bloki. Parametre sprejemajo kot uporabniški vnos in obdelajo v skladu z logiko postopka in dajo rezultat (ali izvedejo določeno dejanje). Ti parametri so lahko IN, OUT in INOUT. Spremenljive deklaracije, dodelitve spremenljivk, kontrolni stavki, zanke, poizvedbe SQL in druge funkcije / postopek / klici v paketu so lahko znotraj telesa postopkov.
Funkcije
Funkcije so imenovane tudi programski bloki, ki morajo vrniti vrednost s stavkom RETURN, in preden vrne vrednost, telo izvaja tudi nekaj dejanj (v skladu z dano logiko). Funkcije sprejemajo tudi parametre za zagon. Funkcije lahko pokličete znotraj poizvedb. Ko se funkcija pokliče znotraj poizvedbe SELECT, velja za vsako vrstico iz niza rezultatov poizvedbe SELECT. Obstaja več kategorij funkcij ORACLE. So,
Obstajajo podkategorije funkcij v eni vrstici.
Kakšna je razlika med funkcijo in shranjenim postopkom? • Vse funkcije morajo vrniti vrednost s stavkom RETURN. Shranjeni postopki ne vrnejo vrednosti z uporabo stavka RETURN. Izjava RETURN znotraj postopka vrne nadzor klicnemu programu. OUT parametri se lahko uporabijo za vrnitev vrednosti iz shranjenih postopkov. • Funkcije se lahko pokličejo znotraj poizvedb, vendar shranjenih postopkov ni mogoče uporabiti znotraj poizvedb. • Za ustvarjanje funkcije mora biti vključen tip RETURN, vendar v shranjeni proceduri DDL ni. |