Razlika med shranjenim postopkom in funkcijo

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,

  • Funkcije ene vrstice (vrne en rezultat za vsako vrstico poizvedbe)

Obstajajo podkategorije funkcij v eni vrstici.

  • Številska funkcija (npr .: ABS, SIN, COS)
  • Funkcija znakov (npr .: CONCAT, INITCAP)
  • Funkcija časa (npr .: LAST_DAY, NEXT_DAY)
  • Funkcije pretvorbe (npr .: TO_CHAR, TO_DATE)
  • Funkcija zbiranja (na primer: KARDINALNOST, SET)
  • Združene funkcije (Vrne posamezno vrstico na podlagi skupine vrstic. Na primer: AVG, SUM, MAX)
  • Analitične funkcije
  • Referenčne funkcije predmeta
  • Funkcije modela
  • Uporabniško definirane funkcije

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.