Sobes.tech
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:

  1. Andmete terviklikkuse säilitamine: automaatne kontroll või andmete muutmine sisestamisel/uuringul.
  2. Audit: teabe salvestamine andmete muutuste kohta eraldi logitabelisse.
  3. Andmete sünkroniseerimine: seotud tabelite automaatne uuendamine.
  4. 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.