Eljárások kontra funkciók a programozásban
Eljárások és funkciók a programozásban, lehetővé teszik a programozók számára, hogy az utasításokat egyetlen blokkba csoportosítsák, és a programon belül különböző helyekről hívhatók. A kód könnyebben érthetővé és tömörebbé válik. A módosítások egyetlen helyen történő végrehajtása a teljes kódot érinti. Funkciók és eljárások segítségével; egy lineáris és hosszú kód független szakaszokra osztható. Nagyobb rugalmasságot biztosítanak a különféle programozási nyelvek és adatbázisok kódolásához.
Mik azok a függvények?
A függvények képesek olyan paraméterek elfogadására, amelyeket argumentumnak is neveznek. Ezeknek az argumentumoknak vagy paramétereknek és adott típusú értékeknek megfelelően hajtják végre a feladatokat. Egy példa segítségével jobban elmagyarázhatjuk: Egy függvény elfogad egy karakterláncot paraméterként, és visszaadja az első bejegyzést vagy rekordot egy adatbázisból. Figyelembe veszi egy adott mező tartalmát, amely ilyen karakterekkel kezdődik.
A függvény szintaxisa a következő:
FUNKCIÓ LÉTREHOZÁSA VAGY CSERÉJE my_func
(p_name IN VARCHAR2:='Jack') adja vissza a varchar2-t kezdetként … end
Mik azok az eljárások?
Az eljárások elfogadják a paramétereket vagy argumentumokat, és ezeknek a paramétereknek megfelelően hajtanak végre feladatokat. Ha egy eljárás elfogad egy karakterláncot paraméterként, és kiad egy listát az adatbázisban lévő rekordokkal, amelyeknél egy adott mező tartalma ilyen karakterekkel kezdődik.
Az eljárások szintaxisa a következő:
ELJÁRÁS LÉTREHOZÁSA VAGY CSERÉJE my_proc
(p_name IN VARCHAR2:=‘Jack’) kezdetként … vége
A paraméterek függvényekben és eljárásokban való átadásának főként két módja van; érték vagy hivatkozás alapján. Ha a paramétert érték adja át; a módosítás a függvényen vagy eljáráson belül érintve van anélkül, hogy befolyásolná annak tényleges értékét.
Másrészt, ha a paramétereket hivatkozások adják át; ennek a paraméternek a tényleges értéke megváltozik, bárhol is hívják a kódon belül, az utasításoknak megfelelően.
Az eljárások és a funkciók közötti különbség
• Amikor a paramétert átadjuk az eljárásnak; nem ad vissza értéket, míg a függvény mindig egy értéket ad vissza.
• Az egyik fő különbség mindkettőben, hogy az adatbázisokban nem használnak eljárásokat, míg a függvények fontos szerepet játszanak az adatbázisból származó értékek visszaadásában.
• Az eljárások több értéket, a függvények pedig korlátozott értékeket képesek visszaadni.
• A DML műveletek használhatók tárolt eljárásokban; függvényekben azonban nem lehetségesek.
• A függvények csak egy értéket adhatnak vissza, és ez kötelező, míg az eljárások n vagy nulla értéket adhatnak vissza.
• A függvényekben a hibakezelés nem végezhető el, míg a tárolt eljárásokban elvégezhető.
• A bemeneti és kimeneti paraméterek eljárásokban adhatók át, míg a függvények esetében; csak bemeneti paraméterek adhatók át.
• A függvények meghívhatók eljárásokból, míg függvényből nem lehet eljárást meghívni.
• A tranzakciókezelés az eljárásokban megfontolható, függvényeknél nem.