问题描述
- sql 事物造成的死锁问题怎么解决
-
做了个程序,局域网内多个用户进行下面sql事物操作的时候容易出现死锁的情况,使得部分用户户无法插入数据,下面是简化版,大概的意思有了,请问该如何优化修改
begin transaction
declare @errorSum int
set @errorSum=0if ((select 1 from Table1 where student_sn=@student_sn) = 1) begin update Table1 set is_chk=0 where student_sn=@student_sn; end else begin insert into Table1 (student_sn) values(@student_sn); end select count(1) from Table1 where user_sn=@user_sn set @errorSum=@errorSum+@@ERROR if @errorSum<>0 begin rollback transaction end else begin commit transaction end
时间: 2024-09-27 08:33:35