日期:2014-05-19  浏览次数:20521 次

如此存贮过程也死锁?
procedure   pxxx    
  @syssign   varchar(2)
as
begin   tran

    update   table1       set   pa1=pa1+1   where   xx=@syssign
    select   pa=pa1   from   table1     where   xx=@syssign

 
commit   tran

过年前没死锁,年后开始了。请问如何解决

------解决方案--------------------
select pa=pa1 from table1 where xx=@syssign
-----------------------------------------

pa是@pa吧?
------解决方案--------------------
select 加排它锁试一下
------解决方案--------------------
我感觉死锁是由于事务间接引起的,先不考虑业务逻辑,你把事务去掉看是否还存在死锁