【发布时间】:2011-07-12 07:43:15
【问题描述】:
我试图更好地理解 SQL Server 事务的细微差别。
假设我有一个更新 1,000 条现有行的查询,将其中一列更新为从 1 到 1,000 的值。可以执行此查询,并且在完成后,这些行不会按顺序编号。这是因为在我的查询完成之前,另一个查询可能会修改这些行之一。
另一方面,如果我将这些更新包装在一个事务中,这保证了如果任何一个更新失败,我可以使所有更新失败。但这是否也意味着当我完成后这些行将保证是连续的?
换句话说,事务总是原子的吗?
【问题讨论】:
-
你为什么要它们连续?
-
既然这是我对原子定义的理解,是的,事务将永远是原子的(IOW - 要么全部成功,要么不更新)
标签: sql sql-server transactions