Junior
Kas ir triggers?
sobes.tech AI
Atbilde no AI
Trigera ir īpaša saglabāta procedūra datu bāzē, kas automātiski izpildās, kad notiek noteikts notikums.
Notikumi, kas parasti aktivizē trigera darbību, ir:
INSERT: jaunu rindu pievienošana tabulai.UPDATE: esošo rindu modificēšana tabulā.DELETE: rindu dzēšana no tabulas.
Trigera darbība var tikt aktivizēta dažādos laikos attiecībā uz notikumu:
BEFORE: pirms notikuma izpildes.AFTER: pēc notikuma izpildes.INSTEAD OF: notikuma vietā (bieži izmanto ar skatiem).
Piemēri trigera izmantošanai:
- Datu integritātes nodrošināšana: automātiska datu pārbaude vai modifikācija ievietošanas vai atjaunināšanas laikā.
- Auditēšana: informācijas reģistrēšana par datu izmaiņām atsevišķā žurnāla tabulā.
- Datu sinhronizācija: automātiska saistīto tabulu atjaunināšana.
- Komplekso biznesa noteikumu izpilde: papildu darbību uzsākšana noteiktos apstākļos.
Trigera definīcija ir uz tabulas līmeņa, un tas var atsaukties uz mainītās rindas vecajām un jaunajām vērtībām.
-- Sintakses piemērs (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;
Ir svarīgi izmantot trigerus ar piesardzību, jo tie var sarežģīt kļūdu novēršanu un ietekmēt datu bāzes veiktspēju.