Különbség a nézet és a tárolt eljárás között

Tartalomjegyzék:

Különbség a nézet és a tárolt eljárás között
Különbség a nézet és a tárolt eljárás között

Videó: Különbség a nézet és a tárolt eljárás között

Videó: Különbség a nézet és a tárolt eljárás között
Videó: Москва слезам не верит, 1 серия (FullHD, драма, реж. Владимир Меньшов, 1979 г.) 2024, Július
Anonim

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.

Ajánlott: