Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie haben zwei Möglichkeiten, zu steuern, wann ein DML-Trigger ausgelöst wird:
- AFTER-Trigger werden nach der auslösenden Aktion (INSERT, UPDATE oder DELETE) und nach der Verarbeitung von INSTEAD OF-Triggern und Einschränkungen ausgelöst. Sie fordern AFTER-Trigger durch Angeben des AFTER- oder FOR-Schlüsselwortes an. Da das FOR-Schlüsselwort dieselbe Wirkung wie das AFTER-Schlüsselwort hat, werden DML-Trigger mit dem FOR-Schlüsselwort ebenfalls als AFTER-Trigger bezeichnet.
- INSTEAD OF-Trigger werden anstelle der auslösenden Aktion und vor der Verarbeitung von Einschränkungen ausgelöst. Wenn in der Tabelle AFTER-Trigger vorhanden sind, werden sie nach der Verarbeitung der Einschränkungen ausgelöst. Falls eine Verletzung der Einschränkungen vorliegt, wird für die Aktionen des INSTEAD OF-Triggers ein Rollback ausgeführt. Der AFTER-Trigger wird nicht ausgeführt.
Für jede auslösende Aktion (UPDATE, DELETE oder INSERT) kann eine Tabelle oder Sicht nur einen INSTEAD OF-Trigger aufweisen. Bei einer Tabelle sind für jede auslösende Aktion mehrere AFTER-Trigger zulässig.
Beispiele
A. Verwenden des INSTEAD OF-Triggers, um die standardmäßige auslösende Aktion zu ersetzen
CREATE TRIGGER TableAInsertTrig ON TableA
INSTEAD OF INSERT
AS ...
B. Verwenden des AFTER-Triggers, um die standardmäßige auslösende Aktion zu erweitern
CREATE TRIGGER TableBDeleteTrig ON TableB
AFTER DELETE
AS ...
C. Verwenden des FOR-Triggers, um die standardmäßige auslösende Aktion zu erweitern
-- This statement uses the FOR keyword to generate an AFTER trigger.
CREATE TRIGGER TableCUpdateTrig ON TableC
FOR UPDATE
AS ...