日期:2014-05-18  浏览次数:20476 次

有关SQL事务问题(回滚)
@reVal   int   output   --存储过程返回值
as
begin   tran
    程序,例如插入操作
    if(@@Error <> 0)
begin
    rollback
                                        --问题:如果回滚,下面的程序还执行吗?
                                        set   @reVal=3
                                        return   @reVal
end
    else
                  begin
commit   tran
                  set   @reVal=2
                                    return   @reVal
end
end   tran
我想问的是rollback后,程序是否会返回 "3 ",希望说明原因

------解决方案--------------------
会执行的,除非使用了goto语句