Est-il un moyen de faire en sorte que un déclencheur SQL Server sera exécuté?
-
16-10-2019 - |
Question
Mon superviseur hésite à utiliser un déclencheur dans un processus parce que s'il y a une interruption de réseau au bon moment, le processus ne serait pas complet. Est-ce que SQL Server inclut le déclencheur dans la transaction de la procédure d'appel? Sinon, quelle est la meilleure façon de mettre en œuvre ce?
La solution
Oui. Déclencheurs se produisent comme une transaction imbriquée implicite dans le cadre de la transaction de l'appelant. Le déclencheur commettra ou à l'arrière du rouleau dans le cadre de cette transaction.
Voir:
Autres conseils
Il y a assez peu de situations où ne se déclenchent pas, tels que:
-
Une table est supprimée.
-
. Une table est tronquée
-
Paramètres pour les déclencheurs imbriqués et / ou récursifs empêcher un déclenchement de tir.
Ainsi, dans SQL Server un déclencheur est PAS garantie à exécuter. Parfois, il peut être contournée.
En outre un déclencheur peut être juste incorrect. De toute façon, vous pouvez vous retrouver avec des orphelins dans votre base de données.
Si vous publiez ce que vous essayez d'accomplir avec votre détente, nous pouvons peut-être vous aider à mettre en œuvre avec des contraintes.