Junior
Čo je trigger?
sobes.tech AI
Odpoveď od AI
Trigger je špeciálna uložená procedúra v databáze, ktorá sa automaticky vykoná pri výskyte určitej udalosti.
Udalosti, ktoré spúšťajú trigger, zvyčajne zahŕňajú:
INSERT: pridanie nových riadkov do tabuľky.UPDATE: zmena existujúcich riadkov v tabuľke.DELETE: odstránenie riadkov z tabuľky.
Trigger môže byť aktivovaný v rôznych časoch vzhľadom na udalosť:
BEFORE: pred vykonaním udalosti.AFTER: po vykonaní udalosti.INSTEAD OF: namiesto vykonania udalosti (často sa používa s pohľadmi).
Príklady použitia triggerov:
- Udržiavanie integrity dát: automatická kontrola alebo úprava dát pri vkladaní/aktualizácii.
- Audit: zaznamenávanie informácií o zmenách dát do samostatnej tabuľky logov.
- Synchronizácia dát: automatická aktualizácia súvisiacich tabuliek.
- Vykonávanie zložitých obchodných pravidiel: iniciovanie ďalších akcií za určitých podmienok.
Trigger je definovaný na úrovni tabuľky a môže odkazovať na staré a nové hodnoty riadku, ktorý bol zmenený.
-- Príklad syntaxe (SQL)
CREATE TRIGGER audit_log
AFTER INSERT ON users
FOR EACH ROW
BEGIN
INSERT INTO audit (user_id, action, timestamp)
VALUES (NEW.id, 'insert', NOW());
END;
Je dôležité používať trigger s opatrnosťou, pretože môžu sťažiť ladenie a ovplyvniť výkon databázy.