我有一个存储过程
ALTER procedure [dbo].[PRCGetNextValue](
@sequence_name varchar(100),
@pacsid varchar(50),
@nextsequence bigint output)
as
begin
update sequences set nextsequenceid = nextsequenceid + 1
where pacsid=@pacsid and sequencename=@sequence_name;
select @nextsequence = nextsequenceid from sequences
where pacsid=@pacsid and sequencename=@sequence_name;
end
我从C#代码调用此SP,返回的值用作另一个表的主键。
所有这些交易都在一个begin / end transaction
完成。
我尝试使用Parallel.Invoke();
并行调用C#方法来处理大约3000条记录,并且还没有死锁。
我是否以正确的方式进行分析,或者此SP在任何时候都会陷入死锁。