Tárolt eljárás vs funkció
A tárolt eljárások és funkciók kétféle programozási blokk. Mindkettőnek hívónevekkel kell rendelkeznie. Ezeket a hívóneveket egy másik programozási blokkban hívják fel, például eljárási funkciók és csomagok vagy SQL lekérdezések esetén. Mindkét objektumtípus elfogadja a paramétereket, és elvégzi a feladatot az objektumok mögött. Ez a szintaxis (ORACLE-ban) egy tárolt eljárás létrehozásához,
hozzon létre vagy cserélje ki az eljárás nevét (paraméterek)
mint
kezdődik
kimutatások;
kivétel
exception_handling
végén;
És itt van a függvény létrehozásának szintaxisa (ORACLE-ban),
Hozzon létre vagy cserélje ki a function_name függvényt (paraméterek)
return return_datatype
mint
kezdődik
kimutatások;
visszatérési_érték / változó;
kivétel;
exception_handling;
végén;
Tárolt eljárások
A fentiek szerint a tárolt eljárásokat programozási blokkoknak nevezték. A paramétereket felhasználói bemenetekként fogadják el, és az eljárás mögött meghúzódó logika szerint feldolgozzák, és eredményt adnak (vagy egy adott műveletet végrehajtanak). Ezek a paraméterek lehetnek IN, OUT és INOUT típusok. Változó deklarációk, változó hozzárendelések, vezérlő utasítások, hurkok, SQL lekérdezések és egyéb funkciók / eljárás / csomaghívások lehetnek az eljárások keretén belül.
Funkciók
A függvényeket programozási blokkoknak is nevezzük, amelyeknek egy értéket vissza kell adni a RETURN utasítás használatával, és mielőtt egy értéket visszaadnának, a test is végrehajt egy bizonyos műveletet (az adott logika szerint). A függvények elfogadják a futtatandó paramétereket is. A funkciókat a lekérdezések belsejében lehet meghívni. Ha egy funkciót SELECT lekérdezésben hívnak, akkor az a SELECT lekérdezés eredménykészletének minden sorára vonatkozik. Az ORACLE funkcióknak több kategóriája van. Ők,
Az egysoros funkciók alkategóriái vannak.
Mi a különbség a funkció és a tárolt eljárás között?? • Minden funkciónak vissza kell adnia egy értéket a RETURN utasítás használatával. A tárolt eljárások nem adnak vissza értékeket a RETURN utasítás használatával. A RETURN utasítás egy eljáráson belül visszatér irányítását a hívó programhoz. Az OUT paraméterek felhasználhatók az értékek tárolt eljárásokból való visszatérítésére. • A funkciók meghívhatók a lekérdezések belsejében, de a tárolt eljárások nem használhatók a lekérdezésekben. • A RETURN adattípust be kell vonni a funkció létrehozásához, de a tárolt DDL eljárásban nem. |