Rozdiel medzi postupmi a funkciami v programovaní

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í.