Le code suivant exécute une procédure stockée. La procédure stockée ne contient qu'une seule commande. Y a-t-il un avantage à tout regrouper dans une transaction, même si elle ne contient qu'une seule instruction SQL (ou une procédure stockée qui ne contient qu'une seule instruction SQL) ?
Dans l'exemple de code ci-dessous, si la suppression échoue, elle échoue. Il n'y a rien d'autre à annuler (il semble). Alors pourquoi tout est enveloppé dans une transaction de toute façon ?
using (ITransactionManager transMan = repository.TransactionManager())
using (IController controller = repository.Controller())
{
transMan.BeginTransaction();
try
{
//DELETE FROM myTable where Id=@id
controller.Delete(id);
transMan.CommitTransaction();
}
catch
{
transMan.RollbackTransaction();
throw;
}
}