Trigger
Ein Trigger ist Datenbankcode, der bei bestimmten Ereignissen (INSERT/UPDATE/DELETE) automatisch ausgeführt wird; er dient Auditing, Kaskaden und Constraints.
Zweck
Logik bei Datenänderungen automatisch ausführen, ohne explizite Aufrufe der Anwendung.
Mechanismus
BEFORE/AFTER × Zeilenebene/Statement-Ebene. Löst das Ereignis aus, läuft die Triggerfunktion automatisch. Häufig für Audit-Logs, Kaskadierungen und komplexe Constraint-Prüfungen. Implizite Ausführung ist aber schwer zu debuggen und kann unerwartet kaskadieren.
Anwendungsfälle
- Audit-Logs für Datenänderungen
- Kaskadierende Updates und Synchronisation
- Komplexe Constraint-Prüfungen
- Automatisches Aktualisieren materialisierter Views
Beispiele
- Eingabe
AFTER UPDATE ON users → log changeOutputChange recorded automaticallyAudit trigger
Häufige Fehler
- Trigger cascades cause recursion and deadlocks
- Limit trigger depth and avoid cycles
Verwandte Begriffe
Stored Procedure
Eine Stored Procedure ist ein vorkompiliertes SQL-Programm, das in der Datenbank gespeichert und bei Bedarf aufgerufen wird; sie reduziert Netzwerkroundtrips und SQL-Injection-Risiko. GLOSSAR
View
Eine View ist eine gespeicherte Abfragedefinition (eine virtuelle Tabelle) ohne Daten, die zur Abfragezeit dynamisch berechnet wird; sie dient der Vereinfachung, Sicherheitstrennung und Abstraktion. GLOSSAR
Transaction
Eine Transaktion ist eine Gruppe von Operationen, die als eine logische Einheit unter Einhaltung von ACID ausgeführt wird — alles oder nichts. GLOSSAR