Vraiment, j'utilise rarement des déclencheurs. J'ai donc rencontré un problème la première fois. J'ai beaucoup de tables avec des déclencheurs (2 ou plus pour chaque table). Je voudrais connaître et modifier l'ordre des déclencheurs de tir pour chaque table. Est-il possible d'obtenir ces informations?
AJOUTÉE:
Voici un bon article enoght sur mssqltips que j'ai trouvé.
IIRC vous ne pouvez pas garantir exactement l'ordre qui déclenche (avec la même définition de quoi réagir et quand) se déclenche pour une action donnée contre une table, pour un nombre donné de déclencheurs.
Vous pouvez le faire s'il y en a trois ou moins, car vous pouvez utiliser sp_settriggerorder pour définir le premier comme premier, le dernier pour être le dernier et celui du milieu pour avoir un ordre "non défini".
Si vos déclencheurs sont sensibles à l'ordre qui est exécuté, cela indique souvent que votre conception devient plus complexe qu'elle ne devrait l'être (généralement en raison de la croissance organique) et peut bénéficier d'une refactorisation.
la source
la source
exec sp_settriggerorder @triggername = 'tr_xxx' , @order = 'Last' , @stmttype= 'DELETE'
nous pouvons voir le résultat («X») dans le résultat de la requête de Jackson. Merci, Jackson.