Trigger (databáze)
Z Wikipedie, otevřené encyklopedie
Trigger (česky spoušť) v databázi definuje činnosti, které se mají provést v případě definované události nad databázovou tabulkou. Definovanou událostí může být například vložení nebo smazání dat. Jednoduchá spoušť, která se má provést před vložením nového záznamu do tabulky může mít v SQL zápis:
CREATE TRIGGER jmeno_triggeru BEFORE INSERT ON jmeno_tabulky BEGIN -- samotný kód spouště END;
Tato spoušť před vložením dat do jmeno_tabulky provedou příkazy vložené mezi BEGIN a END. Pokud je spouštěný příkaz jen jeden, může být blok BEGIN…END vynechán.
Obsah |
[editovat] Parametry syntaxe
- Pokud již trigger daného jména existuje a chceme ji změnit, místo CREATE použijeme REPLACE.
- Chceme-li trigger smazat, použijeme příkaz: DROP TRIGGER jmeno_triggeru;
- Klíčové slovo INSERT indikuje, že trigger se spustí při vkládání do databáze. Místo něj může být též UPDATE nebo DELETE.
- Klíčové slovo BEFORE indikuje, že se trigger spustí před (v tomto případě) vkládání záznamu. Pokud by bylo místo něj AFTER, spustil by se trigger poté.
[editovat] Sémantika triggerů
Triggery jako takové jsou definovány ve většině moderních databázových systémů, ovšem mírně se liší v sémantice svého provedení. Klíčové rozdlíly jsou zejména v
- kdy přesně se trigger spustí
- jak proběhne (co ho může přerušit)
- jakým způsobem se řeší vzájmné volání triggerů
- jak (a jestli vůbec) jsou ošetřeny nekonečné cykly vzájemného volání
[editovat] Související články
[editovat] Externí Odkazy
- SQL – jak na triggery
- prezentace o aktivních databázích a triggerech - vysvětlení pojmů a porovnání nejvýznamnějších implementací triggerů (Starburst DB, Oracle, DB2, Chimera, SQL Server)
|
|||||||||||

