接触事务不多,请问下面这句话的作用有什么好处?语句的意思我明白,但不太理解,因为没有实验环境,请高手指教!declare @trncnt int
set @trncnt = @@trancountif @trncnt = 0
    begin tran p1
else
    save tran p1谢谢!

解决方案 »

  1.   

    if   @trncnt   =   0 -- 活动事务数量为0
            begin   tran   p1 -- 开始事务
    else
            save   tran   p1  -- 否则设保存点
      

  2.   

    Create table TT(id int identity,name varchar(10))declare   @trncnt   int 
    set   @trncnt   =   @@trancount 
    if   @trncnt   =   0 
            begin   tran   p1 --设置一个事务
    else 
            save   tran   p1 --如果存在事务,就设计该事务的保存点,便于以后的前滚或者后滚到该事务点insert into tt select 'aa'insert into tt select 'bb'
    rollback transaction p1commit transaction p1