Was ist der Unterschied zwischen FOR
und AFTER
Auslöser?
sql
sql-server-2005
triggers
sqlchild
quelle
quelle
Antworten:
Es gibt keinen Unterschied, sie machen das Gleiche.
Ist das gleiche wie
Ein
INSTEAD OF
Trigger ist anders und wird vor und anstelle der Einfügung ausgelöst und kann für Ansichten verwendet werden, um die entsprechenden Werte in die zugrunde liegenden Tabellen einzufügen.quelle
@ Ben ist absolut richtig.
Hier ist der MSDN-Artikel Erkunden von SQL Server-Triggern
Ein Absatz aus dem Artikel:
quelle
AFTER gibt an, dass der DML-Trigger nur ausgelöst wird, wenn alle in der auslösenden SQL-Anweisung angegebenen Vorgänge erfolgreich ausgeführt wurden. Alle referenziellen Kaskadenaktionen und Einschränkungsprüfungen müssen ebenfalls erfolgreich sein, bevor dieser Trigger ausgelöst wird. AFTER ist die Standardeinstellung, wenn FOR das einzige angegebene Schlüsselwort ist.
AFTER-Trigger können in Ansichten nicht definiert werden.
STATT AN Gibt an, dass der DML-Trigger anstelle der auslösenden SQL-Anweisung ausgeführt wird, wodurch die Aktionen der auslösenden Anweisungen überschrieben werden. STATT OF kann nicht für DDL- oder Anmeldetrigger angegeben werden.
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-trigger-transact-sql
quelle