.net - 事务应该在存储过程外部还是内部指定?

标签 .net sql sql-server stored-procedures isolation

我们可以将对存储过程的调用包装在事务中并指定隔离级别。

或者我们可以将事务放入存储过程中,并在那里指定隔离级别。

做什么比较好?

最佳答案

我认为存储过程内部是最合适的位置。

良好事务设计的基本规则之一是使事务的生命周期尽可能短,因此提交应该在事务逻辑完成后立即发生。在存储过程之外控制事务将导致不必要地延长事务的生命周期。

您还应该考虑在过程中定义事务也将使您的代码更加清晰。否则,如果另一个编码人员需要修改给定的存储过程,他们将不得不依赖调用者确实将该过程包装在事务中这一事实。将事务包含在过程中明确定义了您的事务处理。

关于.net - 事务应该在存储过程外部还是内部指定?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/618672/

相关文章:

.net - ASP.NET MVC 期望 DateTime 采用什么格式,以便模型绑定(bind)能够正常工作?

sql - 在 postgresql 中更改多行

sql-server - SQL Server Join 语句中带有条件吗?

sql - 将格式为 yyyymmddhhnn 的字符串转换为日期时间

mysql - 如何从表中删除列(如果存在)

c# - Entity Framework 4 + 存储过程

sql - 使用 cte 时获取额外日期

c# - 来自 Gridview 中 UserControl 的事件未被触发

c# - 配置管理器类。锁定时无法编辑 ConfigurationSection 属性

c# - 如何从匿名类型中获取属性值?