Ein Trigger ist eine gespeicherte Aktion, die das DBMS automatisch ausführt, sobald ein bestimmtes Ereignis an einer Tabelle passiert – typischerweise ein INSERT, UPDATE oder DELETE. Du legst fest, ob er BEFORE oder AFTER dem Ereignis feuert.
- Beispiel Protokollierung: Immer wenn eine Zeile in „Konto“ geändert wird, schreibt ein AFTER-UPDATE-Trigger automatisch den alten und neuen Wert in eine „Konto_Historie“-Tabelle. Der Anwendungsentwickler muss daran nie wieder denken.
- Beispiel Konsistenz: Ein BEFORE-INSERT-Trigger setzt ein Feld wie „erstellt_am“ oder prüft/normalisiert einen Wert, bevor er gespeichert wird.
Der entscheidende Vorteil gegenüber „mach ich in der Anwendung“: Der Trigger greift immer – egal, ob die Änderung aus deiner App, aus einem Import-Skript oder von Hand im SQL-Client kommt. Die Regel sitzt zentral an der Datenbank, nicht verstreut in jeder Anwendung, die draufzugreift.