【发布时间】:2023-03-26 11:57:01
【问题描述】:
以下链接描述了可序列化的事务隔离级别。
假设我有一个用户更新表[dbo].[Table_A]。另一个用户正在更新表[dbo].[Table_B]。而且我想序列化这两个更新语句(意味着在第二个开始之前等待第一个完成),尽管我们正在接触不同的表。我猜我不能使用表锁,但也许范围锁可以做到这一点。有人可以帮我理解代码的样子吗?或者这不适用于 SQL Server 2008 中的事务隔离级别功能?
【问题讨论】:
-
为什么要将更新序列化到不同的表?你想解决什么问题?
-
我正在处理一个有向无环图(多层次)数据模型。一个表与另一个表连接并强制继承。
-
所以您正在使用来自
table_a的数据更新table_b?您能否发布您的更新声明? -
为了论证,我们假设它们没有加入。因为我有没有连接的例子。更新 [dbo].[Table_A] 设置 x=1 并更新 [dbo].[Table_B] 设置 y=1
-
我不明白您为什么不能并行执行此操作
标签: sql-server-2008 tsql serialization locking transaction-isolation