Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Gespeicherte Prozeduren und Trigger » Prozeduren, Trigger und Batches verwenden » Einführung in Trigger

 

Erweiterte Informationen zu Triggern

Ein schwierig zu verstehender Aspekt bei Triggern ist die Reihenfolge, in der Trigger ausgelöst werden, wenn ein auslösender Vorgang Auswirkungen auf mehrere Trigger hat. Ob konkurrierende Trigger ausgelöst werden und in welcher Reihenfolge sie ausgelöst werden, hängt von zwei Dingen ab: Triggertyp (BEFORE, INSTEAD OF oder AFTER) und Triggerbereich (Zeilen- oder Anweisungsebene).

Für Trigger auf Zeilenebene gilt: BEFORE-Trigger werden vor INSTEAD OF-Triggern ausgelöst, die wiederum vor AFTER-Triggern ausgelöst werden. Alle Trigger auf Zeilenebene für eine bestimmte Zeile werden vor den Triggern für die Folgezeile ausgelöst.

Bei Triggern auf Anweisungsebene werden INSTEAD OF-Trigger vor AFTER-Triggern ausgelöst. BEFORE-Trigger auf Anweisungsebene werden nicht unterstützt.

Wenn es konkurrierende AFTER-Trigger auf Anweisungs- und Zeilenebene gibt, werden die AFTER-Trigger auf Anweisungsebene ausgelöst, nachdem alle Trigger auf Zeilenebene beendet wurden.

Wenn es konkurrierende INSTEAD OF-Trigger auf Anweisungs- und Zeilenebene gibt, werden die Trigger der Zeilenebene nicht ausgelöst.


INSTEAD OF-Trigger