Junior
Kas yra triggeris?
sobes.tech AI
Atsakymas iš AI
Trigeris yra speciali saugoma procedūra duomenų bazėje, kuri automatiškai vykdoma, kai įvyksta tam tikras įvykis.
Įvykiai, kurie dažniausiai sukelia trigerius, apima:
INSERT: naujų eilučių pridėjimas į lentelę.UPDATE: esamų eilučių keitimas lentelėje.DELETE: eilučių ištrynimas iš lentelės.
Trigiai gali būti aktyvuojami skirtingu laiku, priklausomai nuo įvykio:
BEFORE: prieš įvykio vykdymą.AFTER: po įvykio vykdymo.INSTEAD OF: vietoje įvykio vykdymo (dažnai naudojama su vaizdais).
Pavyzdžiai, kaip naudoti trigerius:
- Duomenų vientisumo palaikymas: automatinė duomenų patikra ar keitimas įterpimo/arba atnaujinimo metu.
- Auditavimas: informacijos apie duomenų pakeitimus įrašymas į atskirą žurnalo lentelę.
- Duomenų sinchronizavimas: automatinis susijusių lentelių atnaujinimas.
- Sudėtingų verslo taisyklių vykdymas: papildomų veiksmų inicijavimas tam tikromis sąlygomis.
Trigiai yra apibrėžti lentelės lygyje ir gali nurodyti į pakeistos eilutės senas ir naujas reikšmes.
-- Sintaksės pavyzdys (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;
Svarbu naudoti trigerius atsargiai, nes jie gali apsunkinti klaidų paiešką ir paveikti duomenų bazės našumą.