Wirklich benutze ich selten Auslöser. Also bin ich beim ersten Mal auf ein Problem gestoßen. Ich habe viele Tabellen mit Triggern (2 oder mehr für jede Tabelle). Ich möchte die Reihenfolge der Auslöser für jeden Tisch kennen und ändern. Ist es möglich, diese Informationen zu erhalten?
HINZUGEFÜGT:
Hier ist ein guter enoght Artikel über Mssqltips, die ich gefunden habe.
IIRC Sie können nicht genau die Reihenfolge garantieren, in der Trigger (mit der gleichen Definition, auf was und wann zu reagieren ist) für eine bestimmte Aktion gegen eine Tabelle für eine bestimmte Anzahl von Triggern ausgelöst werden.
Wenn es drei oder weniger gibt, können Sie sp_settriggerorder verwenden , um die erste als erste, die letzte als letzte und die mittlere als "undefinierte" Reihenfolge festzulegen .
Wenn Ihre Trigger empfindlich auf die Reihenfolge reagieren, in der sie ausgeführt werden, ist dies häufig ein Hinweis darauf, dass Ihr Design komplexer wird als es sein muss (normalerweise aufgrund organischen Wachstums) und möglicherweise von einem Refactoring profitiert.
quelle
quelle
exec sp_settriggerorder @triggername = 'tr_xxx' , @order = 'Last' , @stmttype= 'DELETE'
sehen Sie das Ergebnis ('X') in Jacksons Abfrageergebnis. Danke, Jackson.