Postupy vs funkcie v programovaní
Procedúry a funkcie v programovaní umožňujú programátorom zoskupovať inštrukcie dohromady do jedného bloku a môžu byť vyvolané z rôznych miest v rámci programu. Kód je ľahšie pochopiteľný a kompaktnejší. Vykonaním úprav na jednom mieste bude ovplyvnený celý kód. Za pomoci funkcií a postupov; lineárny a dlhý kód možno rozdeliť na nezávislé sekcie. Poskytujú väčšiu flexibilitu pri kódovaní rôznych programovacích jazykov a databáz.
Čo sú funkcie?
Funkcie sú schopné akceptovať parametre, ktoré sú známe aj ako argumenty. Vykonávajú úlohy podľa týchto argumentov alebo parametrov a vracajú hodnoty daných typov. Môžeme to lepšie vysvetliť pomocou príkladu: Funkcia akceptuje reťazec ako parameter a vracia prvý záznam alebo záznam z databázy. Zohľadňuje obsah konkrétneho poľa, ktoré začína týmito znakmi.
Syntax funkcie je nasledovná:
VYTVORIŤ ALEBO VYMIEŇAŤ FUNKCIU my_func
(p_name IN VARCHAR2: = 'Jack') vráti varchar2 ako začiatok ... koniec
Aké sú postupy?
Postupy môžu akceptovať parametre alebo argumenty a vykonávajú úlohy podľa týchto parametrov. Ak procedúra akceptuje reťazec ako parameter a vydá zoznam so záznamami v databáze, pre ktoré obsah konkrétneho poľa začína týmito znakmi.
Syntax postupov je takáto:
VYTVORIŤ ALEBO VYMENIŤ POSTUP my_proc
(p_name IN VARCHAR2: = 'Jack') ako začiatok ... koniec
Hlavne existujú dva spôsoby, ktorými sa parameter odovzdáva vo funkciách a postupoch; hodnotou alebo odkazom. Ak je parameter odovzdaný hodnotou; zmena je ovplyvnená v rámci funkcie alebo postupu bez ovplyvnenia jej skutočnej hodnoty.
Na druhej strane, ak parametre prechádzajú referenciami; Skutočná hodnota tohto parametra sa zmení podľa toho, kde sa v kóde volá, podľa pokynov.
Rozdiel medzi postupmi a funkciami • Keď je parameter odovzdaný do postupu; nevracia žiadnu hodnotu, zatiaľ čo funkcia vždy vracia hodnotu. • Jedným z hlavných rozdielov v oboch je to, že sa postupy nepoužívajú v databázach, zatiaľ čo funkcie zohrávajú dôležitú úlohu pri vracaní hodnôt z databázy.. • Procedúry sú schopné vracať viac hodnôt a funkcie sú schopné vracať obmedzené hodnoty. • DML operácie môžu byť použité v uložených procedúrach; nie sú však možné vo funkciách. • Funkcie môžu vracať iba jednu hodnotu a sú povinné, zatiaľ čo postupy môžu vracať n alebo nulu. • Vo funkciách nie je možné spracovať chyby, zatiaľ čo je možné ich vykonať v uložených postupoch. • Vstupné a výstupné parametre sa môžu odovzdávať v postupoch, zatiaľ čo v prípade funkcií; môžu byť odovzdané iba vstupné parametre. • Funkcie je možné vyvolať z procedúr, zatiaľ čo procedúru nie je možné vyvolať z funkcie. • Riadenie transakcií sa môže posudzovať v postupoch a nemožno ho brať do úvahy v prípade funkcií. |