Sobes.tech
Junior

Ce este un trigger?

sobes.tech AI

Răspuns de la AI

Un declanșator este o procedură specială stocată în bazele de date, care se execută automat atunci când are loc un eveniment specific.

Evenimentele care declanșează declanșatoarele includ de obicei:

  • INSERT: adăugarea de rânduri noi în tabel.
  • UPDATE: modificarea rândurilor existente în tabel.
  • DELETE: ștergerea rândurilor din tabel.

Declanșatoarele pot fi activate în momente diferite față de eveniment:

  • BEFORE: înainte de executarea evenimentului.
  • AFTER: după executarea evenimentului.
  • INSTEAD OF: în locul executării evenimentului (adesea folosit cu vizualizări).

Exemple de utilizare a declanșatoarelor:

  1. Menținerea integrității datelor: verificare sau modificare automată a datelor la inserare/actualizare.
  2. Audit: înregistrarea informațiilor despre modificările datelor într-un tabel de jurnal.
  3. Sincronizarea datelor: actualizarea automată a tabelelor legate.
  4. Executarea regulilor de afaceri complexe: inițierea unor acțiuni suplimentare în anumite condiții.

Declanșatoarele sunt definite la nivelul tabelului și pot face referire la valorile vechi și noi ale rândului modificat.

-- Exemplu de sintaxă (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;

Este important să folosiți declanșatoarele cu precauție, deoarece acestea pot complica depanarea și pot afecta performanța bazei de date.