Megtekintés vs tárolt eljárás
A nézetek és a tárolt eljárások kétféle adatbázis-objektum. A nézetek olyan tárolt lekérdezések, amelyek egy vagy több táblából gyűjtenek adatokat. Itt van a szintaxis egy nézet létrehozásához
nézet létrehozása vagy cseréje nézetnév
mint
select_statement;
A tárolt eljárás egy előre lefordított SQL parancskészlet, amelyet az adatbázis-kiszolgáló tárol. Minden tárolt eljárásnak van egy hívó neve, amely más csomagokon, eljárásokon és függvényeken belül hívja meg őket. Ez a szintaxis (ORACLE-ban) egy tárolt eljárás létrehozásához, eljárás létrehozása vagy cseréje eljárásnév (paraméterek)
is
begin
nyilatkozatok;
kivétel
exception_handling
vége;
Megtekintés
A Nézet virtuális táblázatként működik. A testében elrejti a kiválasztott állítást. Ez a select utasítás nagyon összetett lehet, amely több táblából és nézetből vesz adatokat. Ezért, más szóval, a nézet egy elnevezett select utasítás, amely az adatbázisban tárolódik. Egy nézet használható a táblakapcsolatok mögötti logika elrejtésére a végfelhasználók elől. Mivel a nézet egy tárolt lekérdezés eredménye, nem tárol adatokat. Adatokat gyűjt az alaptáblázatokból és mutatja. A nézetek fontos szerepet játszanak az adatbiztonságban is. Ha a tábla tulajdonosának csak egy adatkészletet kell megjelenítenie a végfelhasználóknak, jó megoldás a nézet létrehozása. A nézetek két kategóriába sorolhatók
- Frissíthető nézetek (Nézetek, amelyek az INSERT, UPDATE és DELETE funkcióhoz használhatók)
- Nem frissíthető nézetek (Azok a nézetek, amelyek nem használhatók BEHELYEZÉS, FRISSÍTÉS és TÖRLÉS funkcióhoz)
A frissíthető nézetek nem tartalmazhatják a következőket, Megjelenítők beállítása (INTERSECT, MINUS, UNION, UNION ALL)
KÜLÖNBÖZŐ
Csoportösszesítő függvények (AVG, COUNT, MAX, MIN, SUM stb.)
CSOPORTOSÍTÁS KOCKÁZAT SZERINT
RENDEZÉS Cikkely szerint
CONNECT BY Clause
KEZDJE A záradékkal
Gyűjteménykifejezés kijelölőlistában
Részlekérdezés egy kijelölő listában
Csatlakozás a lekérdezéshez
Tárolt eljárás
A tárolt eljárások neve programozási blokkok. Nevük kell, hogy hívják. A tárolt eljárások paramétereket fogadnak el felhasználói bemenetként, és az eljárás mögötti logika szerint dolgoznak fel, és megadják az eredményt (vagy végrehajtanak egy adott műveletet). Változódeklarációk, változó-hozzárendelések, vezérlőutasítások, ciklusok, SQL-lekérdezések és egyéb funkciók/eljárás/csomaghívások lehetnek az eljárások törzsében.
Mi a különbség a megtekintési és a tárolt eljárás között?
Lássuk a kettő közötti különbségeket.
• A nézetek virtuális táblákként működnek. Használhatók közvetlenül az SQL lekérdezések bezárásától (kiválasztás), de az eljárások nem használhatók a lekérdezések bezárásától.
• A nézetek törzse csak egy select utasítást tartalmaz, de az eljárások törzseként változó deklarációkat, változó-hozzárendeléseket, vezérlőutasításokat, ciklusokat, SQL-lekérdezéseket és egyéb funkciókat/eljárásokat/csomaghívásokat tartalmazhat.
• Az eljárás elfogadja a végrehajtandó paramétereket, de a nézetek nem akarják a paraméterek végrehajtását.
• Rekordtípusok hozhatók létre nézetekből a % ROWTYPE használatával, de eljárásokkal rekordtípusok nem hozhatók létre.
• Az SQL-tippek használhatók a nézeten belüli select utasításban a végrehajtási terv optimalizálására, de az SQL-tippek nem használhatók a tárolt eljárásokban.
• TÖRLÉS, BESZÁLLÍTÁS, FRISSÍTÉS, KIVÁLASZTÁS, VISSZAGYORSÍTÁS és DEBUG engedélyezhető a nézeteknél, de csak az EXECUTE és DEBUG engedélyezhető az eljárásoknál.