1
Si je déclenche une erreur dans un déclencheur AFTER UPDATE dans Sql Server 2005, cela provoquera-t-il la mise à jour qui a déclenché le déclenchement du déclencheur, même si l'instruction n'a pas été exécutée dans une transaction?Raising errors in After Triggers Sql Server 2005
Merci.
Donc, y a-t-il une transaction implicite? Si je n'ai pas commencé une transaction explicitement, ROLLBACK TRAN causera-t-il des problèmes? Merci! – Jordan
Oui, il y a une transaction implicite. La mise à jour et le déclenchement sont fermés en une transaction. Trigger est toujours en une transaction avec une instruction DML ou DDL. Si vous effectuez une mise à jour, vous devez attendre que les instructions du déclencheur soient terminées. RAISERROR ne supprime pas la transaction. –
Notez que toute instruction de restauration (sans répertorier de point de sauvegarde) annulera toutes les transactions ouvertes existantes. [Lien] (http://stackoverflow.com/a/11469663). – crokusek