MS-SQL Trigger
Trigger werden ausgeführt, wenn in einer Tabelle ein Ereignis ausgelöst wird.
Konkret heißt das, dass bei einem INSERT,UPDATE oder DELETE wir eingreifen können und einen oder mehrere Befehle „danach“ oder „anstelle“ von ausführen können.
[crayon-6769b39eba831611747115/]
Wählen wir AFTER, dann wird der Datensatz erstellt/geupdated oder gelöscht und erst dann greift der Trigger ein.
Wählen wir stattdessen Instead Of, wird anstelle von dem Insert, Update oder Delete der Trigger ausgeführt.
Beim Trigger stehen uns 2 weitere Temporäre Tabellen zur Verfügung, nämlich inserted und deleted.
wenn wir z.B. einen neuen Datensatz id, Vorname, Nachname in die Datenbank geschrieben haben,
so können wir aus dem Trigger mit
[crayon-6769b39eba839648723682/]
die Id, die gerade eben eingetragen wurde abfragen.
Machen wir ein Update, so wird der alte Datensatz erst einmal erst in die temporäre Tabelle deleted gesteckt, welchen
wir ebenso mit
[crayon-6769b39eba83a702925800/]
abfragen könnten.