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

Saglabātā procedūra pret funkciju
 

Saglabātās procedūras un funkcijas ir divu veidu programmēšanas bloki. Viņiem abiem jābūt izsaucējiem. Šie izsaucošie vārdi tiek izmantoti, lai izsauktu tos citā programmēšanas blokā, piemēram, procedūru funkcijas un paketes vai SQL vaicājumi. 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 nosaukumu (parametrus)

 kā

 sākt

     paziņojumi;

 izņēmums

     izņēmums_apstrāde

 beigas;

Un šeit ir sintakse, lai izveidotu funkciju (ORACLE),

izveidot vai aizstāt funkciju function_name (parametri)

atgriešanās atgriešanās datu tips

sākt

paziņojumi;

return return_value / mainīgais;

izņēmums;

izņēmums_pārkraušana;

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 dod rezultātu (vai veic noteiktu darbību). Šie parametri var būt IN, OUT un INOUT tipi. Procedūru pamattekstā var būt mainīgas deklarācijas, mainīgi piešķīrumi, vadības paziņojumi, cilpas, SQL vaicājumi un citas funkcijas / procedūras / paketes izsaukumi.

Funkcijas

Funkcijas tiek nosauktas arī kā programmēšanas bloki, kuriem ir jāatdod vērtība, izmantojot RETURN paziņojumu, un pirms vērtības atdošanas tā ķermenis arī veic dažas darbības (saskaņā ar doto loģiku). Funkcijas arī pieņem parametrus darbībai. Funkcijas var saukt vaicājumu iekšpusē. Ja funkcija tiek izsaukta SELECT vaicājumā, tā attiecas uz katru SELECT vaicājuma rezultātu kopas rindu. Ir vairākas ORACLE funkciju kategorijas. Viņi ir,

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

Pastāv vienas rindas funkciju apakškategorijas.

  • Ciparu funkcija (piemēram: ABS, SIN, COS)
  • Rakstzīmju funkcija (piemēram: CONCAT, INITCAP)
  • Datuma un laika funkcija (piemēram: LAST_DAY, NEXT_DAY)
  • Konversijas funkcijas (piemēram: TO_CHAR, TO_DATE)
  • Savākšanas funkcija (piemēram: CARDINALITY, SET)
  • Apkopotās funkcijas (atgriež vienu rindu, pamatojoties uz rindu grupu. Piem .: 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 paziņojumu. Saglabātās procedūras neatgriež vērtības, izmantojot RETURN paziņojumu. RETURN paziņojums procedūras laikā atgriezīs kontroli pār izsaucošo programmu. OUT parametrus var izmantot, lai atgrieztu vērtības no saglabātajām procedūrām.

• Funkcijas var izsaukt vaicājumu iekšpusē, bet saglabātās procedūras vaicājumos nevar izmantot.

• Funkcijas izveidošanai ir jāiekļauj RETURN datu tips, bet glabātajā procedūrā DDL tas tā nav.