Razlika med shranjeno proceduro in funkcijo

Kazalo:

Razlika med shranjeno proceduro in funkcijo
Razlika med shranjeno proceduro in funkcijo

Video: Razlika med shranjeno proceduro in funkcijo

Video: Razlika med shranjeno proceduro in funkcijo
Video: Подробный обзор смартфона Galaxy Nexus от Droider.ru 2024, Julij
Anonim

Shranjeni postopek proti funkciji

Shranjene procedure in funkcije so dve vrsti programskih blokov. Oba morata imeti klicajoča imena. Ta klicna imena se uporabljajo za njihov klic znotraj drugega programskega bloka, kot so funkcije postopkov in paketi ali poizvedbe SQL. Oba tipa objektov sprejemata parametre in izvajata nalogo za temi objekti. To je sintaksa (v ORACLE) za ustvarjanje shranjene procedure, ustvari ali zamenjaj ime procedure procedure (parametri)

as

začetek

izjave;

izjema

obravnava_izjem

konec;

In tukaj je sintaksa za ustvarjanje funkcije (v ORACLE), ustvari ali zamenjaj funkcijo function_name (parametri)

vrni return_datatype

as

začetek

izjave;

vrni povratno_vrednost/spremenljivko;

izjema;

obravnava_izjem;

konec;

Shranjeni postopki

Kot je omenjeno zgoraj, se shranjene procedure imenujejo programski bloki. Sprejmejo parametre kot uporabniški vnos in obdelajo v skladu z logiko postopka ter dajo rezultat (ali izvedejo določeno dejanje). Ti parametri so lahko tipa IN, OUT in INOUT. Deklaracije spremenljivk, dodelitve spremenljivk, kontrolni stavki, zanke, poizvedbe SQL in drugi klici funkcij/procedur/paketov so lahko znotraj telesa procedur.

Funkcije

Funkcije so tudi poimenovani programski bloki, ki morajo vrniti vrednost z uporabo stavka RETURN, in preden vrne vrednost, njihovo telo izvede tudi nekaj dejanj (v skladu z dano logiko). Funkcije sprejemajo tudi parametre za izvajanje. Funkcije lahko kličete znotraj poizvedb. Ko je funkcija poklicana znotraj poizvedbe SELECT, velja za vsako vrstico nabora rezultatov poizvedbe SELECT. Obstaja več kategorij funkcij ORACLE. Oni so,

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

Obstajajo podkategorije funkcij ene vrstice.

  • Numerična funkcija (npr.: ABS, SIN, COS)
  • Funkcija znakov (npr.: CONCAT, INITCAP)
  • Funkcija datuma in časa (npr. LAST_DAY, NEXT_DAY)
  • Funkcije pretvorbe (npr.: TO_CHAR, TO_DATE)
  • Funkcija zbiranja (npr.: CARDINALITY, SET)
  • Združevalne funkcije (Vrne eno vrstico na podlagi skupine vrstic. Npr.: AVG, SUM, MAX)
  • Analitične funkcije
  • Referenčne funkcije objekta
  • Funkcije modela
  • Uporabniško določene funkcije

Kakšna je razlika med funkcijo in shranjeno proceduro?

• Vse funkcije morajo vrniti vrednost z uporabo stavka RETURN. Shranjene procedure ne vračajo vrednosti z uporabo stavka RETURN. Stavek RETURN znotraj procedure vrne nadzor klicnemu programu. OUT parametre je mogoče uporabiti za vrnitev vrednosti iz shranjenih procedur.

• Funkcije lahko kličete znotraj poizvedb, vendar shranjenih procedur ni mogoče uporabiti znotraj poizvedb.

• Podatkovni tip RETURN mora biti vključen, da ustvarite funkcijo, vendar v shranjeni proceduri DDL ni.

Priporočena: