Tárolt program egység, 3. oldal

· Ha a fordítás sikeres, a végrehajtható kód (p-kód) tárolja a szótárban adatbázisban, és a funkciót is lehet nevezni

· Ha a fordítás sikeres volt, és a keletkezett p-kód tárolt függvény lehet nevezni minden eszköz, amely támogatja a PL / SQL. A tárolt függvény hívható részeként a kifejezés PL / SQL vagy javaslata SQL.

SQL> CREATE OR csere funkció emp_sal (v_job IN varchar2)

2 VISSZA SZÁM

4 v_sal_inner emp.sal% TYPE;

6 SELECT Sal INTO v_sal_inner SZÁRMAZÓ EMP ahol az alacsonyabb (job) = ALSÓ (v_job);

7. RETURN v_sal_inner;

SQL> Változó h_sal SZÁMA

SQL> Execute: h_sal: = emp_sal (elnök)

PL / SQL-eljárás sikeresen befejeződött.

SQL> PRINT h_sal

Hívjon tárolt függvényeket SQL

Tárolt függvények is lehet nevezni részeként SQL kifejezéseket kell elvégeznie bonyolult számításokat, növekvő teljesítmény SQL lekérdezés (korlátozó mintavételi vonalak tárolt függvények használják a WHERE, és nem az alkalmazás) vagy komplex manipulálása karakteres adat (például adatok kódolását) . A tárolt függvények bárhol lehet használni a beépített SQL funkciókat lehet használni:

· A SELECT utasítás kiválasztáslistán

· A javaslatok WHERE, miután

· A javaslatok ORDER BY, GROUP BY

· A javaslat ÉRTÉKEK INSERT parancs

· A javaslat UPDATE SET parancs

SQL> CREATE OR csere funkció pres_sal (v_sal számban)

2 VISSZA SZÁM

4 v_sal_inner emp.sal% TYPE;

6. SELECT INTO sal v_sal_inner FROM emp ahol az alacsonyabb (job) = 'elnök';

7 RETURN v_sal_inner * 0,1 + v_sal;

SQL> SELECT ename, sal, pres_sal (sal) FROM emp ahol az alacsonyabb (job) = 'jegyző';

ENAME SAL PRES_SAL (SAL)

ADAMS 1100 1600

MILLER 1300 1800

Azonban a tárolt függvényt használt SQL, bizonyos feltételeknek teljesülniük kell:

· Az egyetlen SQL tárolt függvények helyett lehet használni az eljárás

· A tárolt függvény legyen egysoros, mint egy csoportot

· A tárolt funkció csak a paramétereket. Paraméterek OUT és IN OUT nem engedélyezettek

· Típusai ezeket a paramétereket kell CHAR, dátum, szám. Az adattípusok BOOLEAN, TABLE, RECORD nem engedélyezettek

· A visszatérő típusúnak kell lennie egy belső típus az Oracle adatbázis

· A továbbítására vonatkozó eljárást a paraméterek csak helyzeti

· A tárolt függvény nem tudja módosítani az adatokat az adatbázis táblákat. INSERT adatkezelési parancsok frissítésére, törlésére nincs engedélyezve

· Hívás rutinok, amelyek megsértik a fenti feltételek nem engedélyezett

Removal tárolt függvény

Törölheti a tárolt funkció használatakor DDL parancs drop funkció.

SQL> drop funkció emp_sal;

SQL> drop funkció pres_sal;

Összehasonlítás az eljárások és függvények

A tárolt eljárások megegyeznek a tárolt függvény visszaküldi a kiszámított értékeket a hívó környezetben. Ezért meg kell világosan megérteni a különbséget eljárások és függvények kiválasztani a megfelelő stratégiát a tervezési program logika. Hozzon létre egy eljárást, hogy a műveletsornak jövőbeni használatra, és hozzon létre egy függvényt kiszámított értéket vissza kell küldeni a hívó környezetben. Az eljárás tartalmaz egy paramétert OUT, könnyen átírható függvényében

Ezek hívható SQL

Az ingatlan a tárolt eljárások és függvények

Javítása alkalmazások teljesítményét. SQL előforduló tárolt eljárások azonos szintaxist. Következésképpen a későbbi kivégzések már elemzett SQL megtalálhatók lesznek a közös SQL területen, amely jelentősen csökkenti a válaszidőt. Szintén a tárolt eljárások maguk értik fordításkor helyett végrehajtását. Emellett csökkenti a futási rutinok.

Továbbfejlesztett támogatás az alkalmazások számára. Ugyanaz a rutin lehet használni a különböző alkalmazások, így elegendő, hogy módosítsa a programiroda, kijavítása helyett az összes alkalmazást, amelyben használják.

Biztonság és az adatok sértetlenségét. Ahhoz, hogy a felhasználó módosíthatja az adatokat a szubrutin, meg kell, hogy csak az a megtiszteltetés, hogy ezt a programot egységet. Ez segít megakadályozni a jogosulatlan hozzáférést az adatok közvetlenül, megkerülve a szoftver alkalmazás logikáját. Ezen túlmenően, a rutin lehetővé teszi, hogy automatikusan elvégzi kapcsolódó tevékenységek adatokat frissíteni egyetlen tranzakció, amely megvédi az adatokat elvesztése ellen Integrity.

Kezelése tárolt eljárások

Az alkotás, a kivitelezés, módosítani és törölni a tárolt program egységek szükség van a megfelelő rendszer és az objektum jogosultságokat.

Így a felhasználó létrehozni saját programot egységek a rendszerben, a rendszer jogosultság szükséges: Szoftver egységek a saját rendszerben lehet újrafordítani, hogy fut, vagy eltávolítani, mert ez a kiváltság nem szükséges.

· Készítsen (bármilyen) ELJÁRÁS - a jogot arra, hogy hozzon létre egy tárolt program egységek saját (vagy bármilyen) program

· Megváltoztat ELJÁRÁS - jobb újrafordítani a programot egységek bármely séma

· Ejtsen ELJÁRÁS - a jogot, hogy törölje a programot egységek a rendszerben

· Hajt végre semmilyen ELJÁRÁS - a jogot, hogy bármilyen program egységek

A felhasználó, aki létrehozta az alprogramot, lehet, hogy valakinek a tárgy kiváltság, hogy ezt a programot egységet.

Alapértelmezésben Tárolt rutinok és SQL utasítást is hívott egy tárolt programú egység fut felhasználó jogosultságával, aki létrehozta. Emiatt objektumjogosultságai tárgyak hivatkozott a rutin, nincs szükség, ha a tárgyak nem ugyanolyan szerkezetű, mint a rutin is (a tulajdonos a tárgy mindig a kiváltság, hogy őket). Egyrészt ez jó, mert manipulálni tárgyakat a programon keresztül egységnek mindössze az a megtiszteltetés, hogy végre ez a rutin. Másrészt, az ilyen rutinok mereven kötve a rendszer, amelyben azokat tárolják, ami okozhat némi kellemetlenséget. Például, egy és ugyanazon táblázatot osztályon van egyszerre két rendszer: Scott és Blake. és a tárolt eljárást hoz létre az áramkör CREATE_DEPT Scott: