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

Anonim

nézet és tárolt eljárás

nézetnéven

select_statement;

A tárolt eljárás egy előre összeállított SQL parancskészlet, amelyet az adatbázis-kiszolgáló tárol. Minden tárolt eljárásnak van egy hívó neve, amelyet más csomagok, eljárások és függvények hívására használnak. Ez a szintaxis (ORACLE-ban) egy tárolt eljárás létrehozásához,

eljárás létrehozása vagy kicserélése procedurename (paraméterek)

is

begin

kimutatások;

, kivéve

exception_handling

végén;

Nézet

A nézet virtuális táblaként működik. Elrejt egy kijelölt állítást a testében. Ez a kijelölési utasítás nagyon összetett lehet, amely több táblából és nézetből származó adatokat tartalmaz. Más szóval, a nézet egy kiválasztott kivonati utasítás, amelyet az adatbázis tárol. A nézet segítségével elrejtheti a táblázatok mögötti logikát a végfelhasználók számára. Mivel egy nézet egy tárolt lekérdezés eredménye, nem tárol adatokat. Összegyűjti az adatokat az alapasztalokról és a bemutatókról. A nézetek fontos szerepet játszanak az adatbiztonságban is. Ha az asztal tulajdonosa csak a végfelhasználóknak mutatott adatokat, akkor egy nézet létrehozása jó megoldás. A nézetek két kategóriába oszthatók
  • Frissíthetõ nézetek (Megtekintések azok használhatók INSERT, UPDATE és DELETE)

Nem frissíthetõ nézetek (Megtekintés nem használható INSERT, UPDATE és DELETE)

Frissíthetõ nézetek nem

DISTINCT

Csoport összesített funkciók (AVG, COUNT, MAX, MIN, SUM, stb.)

GROUP BY Cikk MEGRENDELÉS

Cikk

CSATLAKOZTATÁS

Cikk> Kollektív kifejezés egy kijelölt lista

Al lekérdezés kiválasztása

Lekérdezés

Tárolt eljárás

Tárolt eljárások nevezett programozási blokkok. Meg kell hívniuk a nevüket. A tárolt eljárások a paramétereket felhasználói bevitelként és folyamatként fogadják el az eljárás mögötti logika alapján, és megadják az eredményt (vagy végrehajtanak egy konkrét műveletet). 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ások / csomaghívások lehetnek az eljárások testében.

Mi a különbség a

Megtekintés és tárolt eljárás között? Lássuk a különbségeket a kettő között.

• A nézetek virtuális táblákként működnek. Használhatók közvetlenül SQL lekérdezések lezárásakor (kiválasztása), de az eljárások nem használhatók a lekérdezések lezárásakor.

• A nézetek csak egy kijelölt állítást tartalmaznak testükként, de az eljárások testükként változó deklarációkat, változó hozzárendeléseket, ellenőrző utasításokat, hurkot, SQL lekérdezéseket és egyéb funkciókat / eljárásokat / csomaghívásokat tartalmazhatnak.

• Az eljárás elfogadja a végrehajtandó paramétereket, de a nézetek nem kívánják a paraméterek végrehajtását.

• A rögzítési típusok létrehozhatók a nézetekből a% ROWTYPE használatával, de eljárások használata esetén nem hozhatók létre rekordtípusok.

• Az SQL utasítások a nézet kijelölési utasításon belül használhatók a végrehajtási terv optimalizálására, de SQL utasítások nem használhatók a tárolt eljárásokban.

• A DELETE, INSERT, UPDATE, SELECT, FLASHBACK és DEBUG megadható nézőpontokon, de csak az EXECUTE és a DEBUG adható meg az eljárásoknál.