行锁和锁升级
我正在尝试使用rowlock来阻止某些行在运行时进行更新,但问题是我在运行时根本无法使用这些表:
set transaction isolation level repeatable read;
go
begin try
begin transaction;
insert into tableB with(rowlock)
select * from tableA with(rowlock) where status = 1
commit transaction;
end try
begin catch
if xact_state() <> 0
begin
rollback transaction;
end
end catch;
我在这个事务运行时为两个表运行了一个插入,他们都等待它提交。如何锁定某些行以进行读取和删除但保持表可用?
对于记录,选择结果成千上万条记录。这些表具有聚簇主键,而状态列具有索引。
没有找到相关结果
已邀请:
1 个回复
薄响