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:
- Menținerea integrității datelor: verificare sau modificare automată a datelor la inserare/actualizare.
- Audit: înregistrarea informațiilor despre modificările datelor într-un tabel de jurnal.
- Sincronizarea datelor: actualizarea automată a tabelelor legate.
- 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.