Spúšťače vs uložené procedúry
V databáze je spúšťačom procedúra (kódový segment), ktorá sa vykonáva automaticky, keď sa v tabuľke / zobrazení vyskytnú určité špecifické udalosti. Spúšťače sa okrem iného používajú hlavne na udržanie integrity v databáze. Uložená procedúra je metóda, ktorú môžu použiť aplikácie pristupujúce k relačnej databáze. Uložené procedúry sa zvyčajne používajú ako metóda na overenie údajov a riadenie prístupu k databáze.
Čo sú spúšťače?
Spúšťač je procedúra (segment kódu), ktorá sa vykonáva automaticky, keď sa vyskytnú niektoré špecifické udalosti v tabuľke / zobrazení databázy. Spúšťače sa okrem iného používajú hlavne na udržanie integrity v databáze. Spúšťače sa používajú aj na presadzovanie obchodných pravidiel, auditovanie zmien v databáze a replikáciu údajov. Najbežnejšie spúšťače sú spúšťače jazyka DML (Data Manipulation Language), ktoré sa spúšťajú pri manipulácii s údajmi. Niektoré databázové systémy podporujú spúšťače bez údajov, ktoré sa spúšťajú pri výskyte udalostí jazyka DDL (Data Definition Language). Niektoré príklady sú spúšťače, ktoré sa spúšťajú pri vytváraní tabuliek, počas operácií potvrdenia alebo vrátenia, atď. Tieto spúšťače sa môžu použiť najmä na auditovanie. Databázový systém Oracle podporuje spúšťače na úrovni schém (tj spúšťače spúšťané pri úprave databázových schém), napríklad Po vytvorení, Pred úpravou, Po zmene, Pred poklesom, Po poklese atď. Štyri hlavné typy spúšťačov podporovaných spoločnosťou Oracle sú spúšťače na úrovni riadkov, Spúšťače na úrovni stĺpcov, spúšťače každého typu riadku a spúšťače pre každý typ príkazu.
Čo sú uložené procedúry?
Uložená procedúra je metóda, ktorú môže použiť aplikácia pristupujúca k relačnej databáze. Uložené procedúry sa zvyčajne používajú ako metóda na overenie údajov a riadenie prístupu k databáze. Ak niektoré operácie spracovania údajov vyžadujú vykonanie viacerých príkazov SQL, tieto operácie sa implementujú ako uložené procedúry. Pri vyvolaní uloženej procedúry sa musí použiť príkaz CALL alebo EXECUTE. Uložené procedúry môžu vrátiť výsledky (napríklad výsledky z príkazov SELECT). Tieto výsledky môžu byť použité inými uloženými postupmi alebo aplikáciami. Jazyky, ktoré sa používajú na písanie uložených procedúr, zvyčajne podporujú kontrolné štruktúry, ako napríklad či, zatiaľ čo, atď. V závislosti od použitého databázového systému sa na implementáciu uložených procedúr môže použiť niekoľko jazykov (napr. PL / SQL a java v Oracle, T- SQL (Transact-SQL) a .NET Framework v Microsoft SQL Server). MySQL ďalej používa svoje vlastné uložené procedúry.
Aký je rozdiel medzi spúšťačmi a uloženými procedúrami?
Spúšťač je procedúra (kódový segment), ktorá sa vykonáva automaticky, keď sa vyskytnú určité špecifické udalosti v tabuľke / zobrazení databázy, zatiaľ čo uložená procedúra je metóda, ktorú môže použiť aplikácia, ktorá pristupuje k relačnej databáze. Spúšťače sa vykonajú automaticky, keď nastane udalosť, na ktorú má trigger reagovať. Ale na vykonanie uloženej procedúry sa musí použiť konkrétny príkaz CALL alebo EXECUTE. Ladiace spúšťače môžu byť ťažšie a zložitejšie ako ladenie uložených procedúr. Spúšťače sú veľmi užitočné, keď chcete zabezpečiť, aby sa pri výskyte určitej udalosti niečo stalo.