Triggerek vs tárolt eljárások
Az adatbázisban a trigger egy olyan eljárás (kódszegmens), amelyet automatikusan hajtanak végre, amikor a táblázatban / nézetben bizonyos események bekövetkeznek. Egyéb felhasználásai között a triggereket főleg az adatbázis integritásának fenntartására használják. A tárolt eljárás egy módszer, amelyet relációs adatbázishoz hozzáférő alkalmazások használhatnak. A tárolt eljárásokat általában módszerként használják az adatok érvényesítésére és az adatbázishoz való hozzáférés ellenőrzésére.
Mik azok a triggerek??
Az eseményindító egy eljárás (kódszegmens), amelyet automatikusan hajtanak végre, amikor bizonyos konkrét események bekövetkeznek egy adatbázis táblájában / nézetében. Egyéb felhasználásai között a triggereket főleg az adatbázis integritásának fenntartására használják. A triggereket az üzleti szabályok érvényesítésére, az adatbázis változásainak ellenőrzésére és az adatok replikálására is használják. A leggyakoribb eseményindítók az Data Manipulation Language (DML) eseményindítók, amelyeket az adatok kezelésekor váltanak ki. Egyes adatbázis-rendszerek támogatják a nem adathiányos eseményeket, amelyek akkor kerülnek bekapcsolásra, amikor a Data Definition Language (DDL) események bekövetkeznek. Néhány példa olyan eseményindítók, amelyek táblák létrehozásakor, az átadási vagy visszagörgetési műveletek során kerülnek felhasználásra. Ezek az eseményindítók különösen felhasználhatók auditálásra. Az Oracle adatbázisrendszer támogatja a séma szintű triggereket (azaz az adatbázis sémák módosításakor kirúgott triggereket), például a létrehozás után, az Alter módosítása után, az Alter módosítása után, a csepp előtti művelet után, a csepp után stb. Az Oracle által támogatott triggerek négy fő típusa a Sor szintű triggerek, Oszlopszintű triggerek, minden sor típusa és minden utasítástípus aktiválója.
Mik a tárolt eljárások??
A tárolt eljárás olyan módszer, amelyet egy relációs adatbázishoz hozzáférő alkalmazás használhat. A tárolt eljárásokat általában módszerként használják az adatok érvényesítésére és az adatbázishoz való hozzáférés ellenőrzésére. Ha egyes adatfeldolgozási műveletekhez több SQL utasítás végrehajtása szükséges, az ilyen műveletek tárolt eljárásokként kerülnek végrehajtásra. Tárolt eljárás meghívásakor CALL vagy EXECUTE utasítást kell használni. A tárolt eljárások eredményt adhatnak (például a SELECT utasítások eredményei). Ezeket az eredményeket más tárolt eljárások vagy alkalmazások felhasználhatják. A tárolt eljárások írására használt nyelvek általában támogatják az ellenőrző struktúrákat, például ha, míg, az, stb. A használt adatbázisrendszertől függően több nyelv is 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 Serverben). Ezenkívül a MySQL saját tárolt eljárásait használja.
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), amelyet automatikusan hajtanak végre, ha bizonyos események előfordulnak egy adatbázis táblájában / nézetében, míg a tárolt eljárás olyan módszer, amelyet egy relációs adatbázishoz hozzáférő alkalmazás használhat. A triggerek automatikusan végrehajtódnak, amikor az az esemény történik, amelyre a triggerrel reagálni kell. A tárolt eljárás végrehajtásához azonban egy speciális CALL vagy EXECUTE utasítást kell használni. A triggerek hibakeresése nehezebb és trükkösebb lehet, mint a tárolt eljárások hibakeresése. A triggerek nagyon hasznosak, ha azt szeretnénk, hogy megbizonyosodjunk arról, hogy valami történik-e egy adott esemény bekövetkezésekor.