Rozdiel medzi procedúrami a funkciami v programovaní

Rozdiel medzi procedúrami a funkciami v programovaní
Rozdiel medzi procedúrami a funkciami v programovaní

Video: Rozdiel medzi procedúrami a funkciami v programovaní

Video: Rozdiel medzi procedúrami a funkciami v programovaní
Video: Správna výslovnosť /v/ a/w/ a výnimky v angličtine 2024, November
Anonim

Postupy vs funkcie v programovaní

Procedúry a funkcie v programovaní umožňujú programátorom zoskupiť inštrukcie do jedného bloku a ten je možné volať z rôznych miest v rámci programu. Kód sa stáva zrozumiteľnejším a kompaktnejším. Vykonaním úprav na jednom mieste bude ovplyvnený celý kód. Pomocou funkcií a postupov; lineárny a dlhý kód možno rozdeliť na nezávislé časti. 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 návratových hodnôt daných typov. Lepšie si to vysvetlíme na príklade: Funkcia akceptuje reťazec ako parameter a vráti prvý záznam alebo záznam z databázy. Berie do úvahy obsah konkrétneho poľa, ktoré začína takýmito znakmi.

Syntax funkcie je nasledovná:

VYTVORIŤ ALEBO NAHRADIŤ FUNKCIU my_func

(p_name IN VARCHAR2:=‘Jack’) vráťte varchar2 ako začiatok … koniec

Aké sú postupy?

Procedúry môžu akceptovať parametre alebo argumenty a vykonávajú úlohy podľa týchto parametrov. Ak procedúra akceptuje reťazec ako parameter a poskytne zoznam záznamov v databáze, pre ktoré obsah špecifického poľa začína takýmito znakmi.

Syntax procedúr je nasledovná:

POSTUP VYTVORIŤ ALEBO NAHRADIŤ my_proc

(p_name IN VARCHAR2:=‘Jack’) as begin … end

Existujú najmä dva spôsoby, ktorými sa parameter odovzdáva vo funkciách a procedúrach; hodnotou alebo odkazom. Ak parameter prechádza hodnotou; modifikácia je ovplyvnená v rámci funkcie alebo procedúry bez ovplyvnenia jej skutočnej hodnoty.

Na druhej strane, ak sú parametre odovzdávané odkazmi; skutočná hodnota tohto parametra sa zmení kdekoľvek sa volá v kóde podľa pokynov.

Rozdiel medzi procedúrami a funkciami

• Keď je parameter odovzdaný do procedúry; nevracia žiadnu hodnotu, zatiaľ čo funkcia vždy vracia hodnotu.

• Jedným z hlavných rozdielov v oboch je, že procedúry sa nepoužívajú v databázach, zatiaľ čo funkcie zohrávajú dôležitú úlohu pri vracaní hodnôt z databázy.

• Procedúry dokážu vrátiť viacero hodnôt a funkcie dokážu vrátiť obmedzené hodnoty.

• Operácie DML možno použiť v uložených procedúrach; nie sú však možné vo funkciách.

• Funkcie môžu vrátiť iba jednu hodnotu a je to povinné, zatiaľ čo procedúry môžu vrátiť n alebo nulu hodnôt.

• Vo funkciách nie je možné vykonať spracovanie chýb, zatiaľ čo v uložených procedúrach ho možno vykonať.

• Vstupné a výstupné parametre môžu byť odovzdané v procedúrach, zatiaľ čo v prípade funkcií; možno odovzdať iba vstupné parametre.

• Funkcie možno volať z procedúr, zatiaľ čo procedúru nie je možné volať z funkcie.

• Manažment transakcií môže byť zohľadnený v postupoch a nemôže sa brať do úvahy v prípade funkcií.

Odporúča: