Különbség a triggerek és a kurzorok között

Anonim

Triggers vs Cursors

Egy adatbázisban egy trigger egy olyan eljárás (kódszegmens), amely automatikusan végrehajtódik, ha bizonyos események egy táblázatban / nézetben fordulnak elő. Más felhasználási területei közül a triggereket elsősorban az adatbázis integritásának megőrzésére használják. A kurzor az adatbázisokban használt vezérlési struktúra, amely az adatbázis-rekordok között halad át. Nagyon hasonlít a programozási nyelvek által szolgáltatott iterátorhoz.

Milyen Triggers?

A trigger egy olyan eljárás (kódszegmens), amely automatikusan végrehajtódik, ha bizonyos események egy adatbázis táblázatban / nézetben fordulnak elő. Más felhasználási területei közül a triggereket elsősorban az adatbázis integritásának megőrzésére használják. A triggereket az üzleti szabályok érvényesítésére, az adatbázisban végrehajtott változások ellenőrzésére és az adatok másolására használják. A leggyakoribb triggerek a Data Manipulation Language (DML) triggerek, amelyek az adatok manipulálásakor keletkeznek. Néhány adatbázisrendszer támogatja a nem adatindító aktiválókat, amelyek a Data Definition Language (DDL) események esetén jelentkeznek. Néhány példa az olyan triggerekről, amelyeket táblák létrehozásakor aktiválnak, az elkövetési vagy visszaállítási műveletek során stb. Ezeket az aktiválókat különösen az auditáláshoz használhatja. Az Oracle adatbázisrendszer támogatja a sématörzs-aktiválókat (például az adatbázis sémáinak módosítása után kiváltott triggereket), mint például az After Creation, Before Alter, After Alter, Before Drop, After Drop stb. Az Oracle által támogatott négy fő típus az Row Level triggers, Az oszlopszintű triggerek, az egyes sor típusú triggerek és az egyes nyilatkozattípus-kiváltók.

Mi a kurzor?

A kurzor az adatbázisokban használt adatbázis, amely az adatbázishoz vezet. Nagyon hasonlít a programozási nyelv által biztosított iterátorhoz. Az adatbázisban lévő rekordok átkerülése mellett a kurzorok megkönnyítik az adatok visszakeresését, a rekordok hozzáadását és törlését. A helyes módon történő meghatározásával a kurzorok visszafelé való elmozdulásra is használhatók. Amikor egy SQL lekérdezés sorokat ad vissza, akkor ezeket ténylegesen a kurzorok segítségével dolgozzák fel. A kurzort be kell jelenteni és egy nevet kell megadni, mielőtt felhasználható lenne. Ezután a kurzort az OPEN parancs segítségével kell megnyitni. Ezzel a művelettel a kurzort közvetlenül a rekordok eredményhalmazának első sora előtt helyeznék el. Ezután a kurzornak végre kell hajtania a FETCH műveletet, hogy valóban egy sor adatot vegyen fel az alkalmazásba. Végül a kurzort a ZÁRÁS művelettel kell lezárni. A lezárt kurzorok újra megnyithatók.

Mi a különbség a triggerek és a kurzorok között?

A trigger egy olyan eljárás (kódszegmens), amely automatikusan végrehajtódik, amikor bizonyos események egy adatbázis táblázatban / nézetben fordulnak elő, míg a kurzor olyan adatbázis, amelyet az adatbázis-nyilvántartásokban használnak.A kurzor kijelezhető és használható egy triggeren belül. Ilyen helyzetben a kijelentés kijelentése a triggeren belül lenne. Ezután a kurzor hatóköre az adott triggerre korlátozódna. Egy triggeren belül, ha egy kurzort deklarált egy beillesztett vagy törölt táblázatban, egy ilyen kurzor nem érhető el egy beágyazott triggerből. Miután a trigger befejeződött, a triggerben létrehozott összes kurzor el lesz osztva.