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.
Microsoft In SQL Server 2005 werden beim Entwerfen von DML-Triggern zwei Optionen bereitgestellt:
- INSTEAD OF-Trigger werden anstelle der üblichen Triggeraktion ausgeführt. INSTEAD OF-Trigger können auch für Sichten mit mindestens einer Basistabelle definiert werden. In diesem Fall können sie die Aktualisierungstypen erweitern, die von einer Sicht unterstützt werden.
- AFTER-Trigger werden nach der INSERT-, UPDATE- oder DELETE-Anweisung ausgeführt. Das Angeben von AFTER hat dieselben Auswirkungen wie das Angeben von FOR. AFTER-Trigger können nur in Tabellen angegeben werden.
In der folgenden Tabelle werden die Funktionen von AFTER- und INSTEAD OF-Triggern verglichen.
Funktion | AFTER-Trigger | INSTEAD OF-Trigger |
---|---|---|
Anwendbarkeit |
Tabellen |
Tabellen und Sichten |
Anzahl pro Tabelle oder Sicht |
Mehrere Trigger pro auslösende Aktion (INSERT, UPDATE oder DELETE) |
Ein Trigger pro auslösende Aktion (INSERT, UPDATE oder DELETE) |
Kaskadierende Verweise |
Keine Einschränkungen |
INSTEAD OF UPDATE- und DELETE-Trigger sind nicht für Tabellen zulässig, die Ziel von kaskadierenden Einschränkungen für die referenzielle Integrität sind. |
Ausführung |
Nach:
|
Vor:
Anstelle:
Nach:
|
Ausführungsreihenfolge |
Der zuerst und zuletzt auszuführende Trigger kann angegeben werden. |
Nicht anwendbar |
Verweise auf varchar(max)-, nvarchar(max)- und varbinary(max)-Spalten in den inserted- und deleted-Tabellen |
Zulässig |
Zulässig |
Verweise auf text-, ntext- und image-Spalten in den inserted- und deleted-Tabellen |
Nicht zulässig |
Zulässig |
Siehe auch
Konzepte
Verwenden der Tabellen inserted und deleted