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

Anonim

Triggerek és tárolt eljárások

Egy adatbázisban egy trigger egy végrehajtott eljárás (kódszegmens) automatikusan, ha bizonyos események a 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 tárolt eljárás egy olyan módszer, amelyet a relációs adatbázisban lévő alkalmazások használhatnak. Jellemzően a tárolt eljárásokat az adatok validálásának és az adatbázishoz való hozzáférés ellenőrzésének módszereként használják.

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 tárolt eljárások?

A tárolt eljárás egy olyan módszer, amelyet egy relációs adatbázisban lévő alkalmazás használhat. Jellemzően a tárolt eljárásokat az adatok validálásának és az adatbázishoz való hozzáférés ellenőrzésének módszereként használják. Ha bizonyos adatfeldolgozási művelet több SQL utasítás végrehajtását igényli, akkor ezeket a műveleteket tárolt eljárásokként hajtják végre. A tárolt eljárás meghívásakor CALL vagy EXECUTE utasítást kell használni. A tárolt eljárások visszaadhatják az eredményeket (például a SELECT utasítások eredményei). Ezeket az eredményeket más tárolt eljárások vagy alkalmazások is használhatják. A tárolt eljárások írásakor használt nyelvek tipikusan támogatják a vezérlő struktúrákat, például, ha, stb. Az alkalmazott adatbázis-rendszer függvényében több nyelv használható a tárolt eljárások végrehajtására (pl. PL / SQL és Java az Oracle, T- SQL (Transact-SQL) és.NET-keretrendszer a Microsoft SQL Server rendszerben). Továbbá a MySQL saját tárolt eljárásokat használ.

Mi a különbség a triggerek és a tárolt eljárások 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 egy tárolt eljárás egy olyan módszer, amelyet egy relációs adatbázisba belépő alkalmazás használhat.A triggerek automatikusan végrehajtásra kerülnek, amikor az esemény, amelyre a ravaszt állítólag reagálni kell. A tárolt eljárás végrehajtásához azonban egy konkrét CALL vagy EXECUTE utasítást kell használni. Az indító hibák keményebbek és trükkösek, mint a tárolt eljárások hibakeresése. A triggerek nagyon hasznosak, ha bizonyos események esetén valami történik.