Postopki vs funkcije pri programiranju
Postopki in funkcije pri programiranju omogočajo programerjem, da navodila združijo v en blok in jih je mogoče poklicati z različnih mest znotraj programa. Koda postane lažje razumljiva in bolj kompaktna. Če izvedete spremembe na enem mestu, bo prizadeta celotna koda. S pomočjo funkcij in postopkov; linearno in dolgo kodo lahko razdelimo na neodvisne odseke. Omogočajo večjo prilagodljivost kodiranju različnih programskih jezikov in baz podatkov.
Kaj so funkcije?
Funkcije lahko sprejmejo parametre, ki so znani tudi kot argumenti. Naloge izvajajo v skladu s temi argumenti ali parametri in vrnejo vrednosti danih vrst. To lahko bolje razložimo s pomočjo primera: funkcija sprejme niz kot parameter in vrne prvi vnos ali zapis iz baze podatkov. Upošteva vsebino za določeno polje, ki se začne s takšnimi znaki.
Sintaksa funkcije je naslednja:
USTVARI ALI NADOMESTI FUNKCIJO my_func
(p_name IN VARCHAR2: = 'Jack') vrni varchar2 kot začetek … konec
Kaj so postopki?
Postopki lahko sprejmejo parametre ali argumente in izvajajo naloge v skladu s temi parametri. Če postopek sprejme niz kot parameter in izda seznam z zapisi v bazi, za katere se vsebina določenega polja začne s takšnimi znaki.
Sintaksa postopkov je naslednja:
USTVARI ALI NADOMESTI POSTOPEK my_proc
(p_name IN VARCHAR2: = 'Jack') kot začetek … konec
V glavnem obstajata dva načina, kako se parameter prenese v funkcije in postopke; po vrednosti ali referenci. Če parameter posreduje vrednost; na spremembo vpliva funkcija ali postopek, ne da bi vplivala na njeno dejansko vrednost.
Po drugi strani pa, če se parametri posredujejo po referencah; dejanska vrednost tega parametra se bo spremenila, kjer koli bo poklican v kodi v skladu z navodili.
• Ko se parameter prenese v postopek; ne vrne nobene vrednosti, medtem ko funkcija vedno vrne vrednost. • Ena glavnih razlik pri obeh je ta, da se postopki v bazah podatkov ne uporabljajo, funkcije pa igrajo pomembno vlogo pri vračanju vrednosti iz baze podatkov. • Postopki lahko vrnejo več vrednosti, funkcije pa lahko vrnejo omejene vrednosti. • operacije DML se lahko uporabljajo v shranjenih postopkih; v funkcijah pa niso mogoči. • Funkcije lahko vrnejo samo eno vrednost in je obvezna, medtem ko lahko postopki vrnejo n ali nič vrednosti. • V funkcijah ravnanja z napakami ni mogoče, medtem ko ga je mogoče izvajati v shranjenih postopkih. • Vhodni in izhodni parametri se lahko posredujejo v postopkih, medtem ko v primeru funkcij; lahko se posredujejo samo vhodni parametri. • Funkcije lahko prikličete iz postopkov, medtem ko iz funkcije ni mogoče priklicati postopka. • Upravljanje transakcij je mogoče obravnavati v postopkih in ne v primeru funkcij. |