Atšķirība starp saglabāto procedūru un funkciju

Satura rādītājs:

Atšķirība starp saglabāto procedūru un funkciju
Atšķirība starp saglabāto procedūru un funkciju

Video: Atšķirība starp saglabāto procedūru un funkciju

Video: Atšķirība starp saglabāto procedūru un funkciju
Video: What is Centripetal force? 2024, Novembris
Anonim

Saglabātā procedūra pret funkciju

Saglabātās procedūras un funkcijas ir divu veidu programmēšanas bloki. Abiem noteikti ir saucamie vārdi. Šie izsaucošie vārdi tiek izmantoti, lai tos izsauktu citā programmēšanas blokā, piemēram, procedūru funkcijās un pakotnēs vai SQL vaicājumos. Abi šie objektu tipi pieņem parametrus un veic uzdevumu aiz šiem objektiem. Šī ir sintakse (ORACLE), lai izveidotu saglabātu procedūru, izveidot vai aizstāt procedūras procedūras nosaukums (parametri)

as

sākt

paziņojumi;

izņēmums

exception_handling

beigas;

Un šeit ir sintakse funkcijas izveidei (ORACLE), izveidot vai aizstāt funkciju funkcijas_nosaukums (parametri)

return return_datatype

as

sākt

paziņojumi;

atgriezties atgriešanās_vērtība/mainīgais;

izņēmums;

exception_handling;

beigas;

Saglabātās procedūras

Kā minēts iepriekš, saglabātās procedūras tiek nosauktas par programmēšanas blokiem. Viņi pieņem parametrus kā lietotāja ievadi un apstrādā saskaņā ar procedūras loģiku un sniedz rezultātu (vai veic konkrētu darbību). Šie parametri var būt IN, OUT un INOUT tipi. Mainīgo deklarācijas, mainīgo piešķiršana, vadības priekšraksti, cilpas, SQL vaicājumi un citas funkcijas/procedūru/pakotņu izsaukumi var būt procedūru pamattekstā.

Funkcijas

Funkcijas tiek nosauktas arī par programmēšanas blokiem, kuriem ir jāatgriež vērtība, izmantojot RETURN priekšrakstu, un pirms vērtības atgriešanas tā pamatteksts arī veic dažas darbības (saskaņā ar doto loģiku). Funkcijas pieņem arī palaišanas parametrus. Funkcijas var izsaukt vaicājumos. Ja funkcija tiek izsaukta SELECT vaicājumā, tā attiecas uz katru SELECT vaicājuma rezultātu kopas rindu. Ir vairākas ORACLE funkciju kategorijas. Tie ir

Vienas rindas funkcijas (atgriež vienu rezultātu katrai vaicājuma rindai)

Ir vienas rindas funkciju apakškategorijas.

  • Ciparu funkcija (piem.: ABS, SIN, COS)
  • Rakstzīmju funkcija (piemēram, CONCAT, INITCAP)
  • Datuma un laika funkcija (piem.: LAST_DAY, NEXT_DAY)
  • Konversijas funkcijas (piem.: TO_CHAR, TO_DATE)
  • Savākšanas funkcija (piem.: CARDINALITY, SET)
  • Apkopotās funkcijas (atgriež vienu rindu, pamatojoties uz rindu grupu. Piemēram, AVG, SUM, MAX)
  • Analītiskās funkcijas
  • Objektu atsauces funkcijas
  • Modeļa funkcijas
  • Lietotāja definētas funkcijas

Kāda ir atšķirība starp funkciju un saglabāto procedūru?

• Visām funkcijām ir jāatgriež vērtība, izmantojot RETURN priekšrakstu. Saglabātās procedūras neatgriež vērtības, izmantojot RETURN paziņojumu. Procedūras paziņojums RETURN atgriezīs savu vadību izsaucējai programmai. OUT parametrus var izmantot, lai atgrieztu vērtības no saglabātajām procedūrām.

• Funkcijas var izsaukt vaicājumos, bet saglabātās procedūras nevar izmantot vaicājumos.

• Lai izveidotu funkciju, ir jāiekļauj datu tips RETURN, bet saglabātajā procedūrā DDL tā nav.

Ieteicams: