trigger

Trigger je svým způsobem možno považovat za uloženou proceduru, ovšem za proceduru s mírně odlišnými vlastnostmi. Triggery (česky opravdu označované jako spušťeče či spouště) jsou programovým kódem, který se vykonává na základě určité operace – v drtivé většině nad tabulkou či záznamem. Existují tak triggery navázané na akci INSERT, DELETE či UPDATE.

Moderní systémy dokáži definovat triggery spouštěné pro každý příkazem ovlivněný řádek či jednorázově v rámci daného příkazu. Do úvahy připadá také rozlišení, zda se má trigger provádět před vykonáním vlastní operace (například před fyzickým vymazáním záznamu) či až po vykonání vlastní operace. Takové triggery jsou označovány za BEFORAFTER triggery.

Pomocí triggerů se obvykle zajišťují aické změny v databázi či referenční integrita. Důležité je uvědomit si, že triggery se podobně jako uložené procedury vykonávají na straně serveru.

S trochou nadsázky je možné triggery přirovnat k obsluhám událostí v moderních RAD nástrojích založených na událostmi řízeném programování. Na druhou stranu je problematika složitá jen zdánlivě. Pokud pochopíte principy volání a provádění, stanou se mocnými pomocníky takřka v každé rozsáhlejší databázové aplikaci.

Jen na závěr připomínáme, že podpora triggerů je v každé databázové platformě na značně jiné úrovni, proto je možné považovat tyto "uložené procedury" za platformově závislé.

Pozri aj

CREATE TRIGGER, DROP TRIGGER


zdroj: http://www.dbsvet.cz/view.php?cisloclanku=2004032601