Junior
Mis on trigger?
sobes.tech AI
Vastus AI-lt
Käivitus on spetsiaalne salvestatud protseduur andmebaasis, mis käivitub automaatselt, kui toimub kindel sündmus.
Sündmused, mis tavaliselt käivitavad käivitusprogrammid, hõlmavad:
INSERT: uute ridade lisamine tabelisse.UPDATE: olemasolevate ridade muutmine tabelis.DELETE: ridade kustutamine tabelist.
Käivitusprogrammid võivad olla aktiveeritud erinevatel aegadel seoses sündmusega:
BEFORE: enne sündmuse toimumist.AFTER: pärast sündmuse toimumist.INSTEAD OF: sündmuse asemel (tihti kasutatakse vaadete puhul).
Näited käivitusprogrammide kasutamisest:
- Andmete terviklikkuse säilitamine: automaatne kontroll või andmete muutmine sisestamisel/uuringul.
- Audit: teabe salvestamine andmete muutuste kohta eraldi logitabelisse.
- Andmete sünkroniseerimine: seotud tabelite automaatne uuendamine.
- Kompenseeritud ärireeglite täitmine: täiendavate toimingute algatamine teatud tingimustel.
Käivitusprogrammid määratletakse tabeli tasemel ning need võivad viidata muudetud rea vanadele ja uutele väärtustele.
-- Süntaksi näide (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;
Oluline on kasutada käivitusprogramme ettevaatusega, kuna need võivad keerulisemaks muuta vigade leidmise ning mõjutada andmebaasi jõudlust.