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

  1. Datu integritātes nodrošināšana: automātiska datu pārbaude vai modifikācija ievietošanas vai atjaunināšanas laikā.
  2. Auditēšana: informācijas reģistrēšana par datu izmaiņām atsevišķā žurnāla tabulā.
  3. Datu sinhronizācija: automātiska saistīto tabulu atjaunināšana.
  4. 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.