存储过程中事务的使用方法


ALTER PROCEDURE dbo.PR_AddDPT 

    
@dptName varchar(50),
    
@dptWorker int
    
AS
    
SET NOCOUNT ON 
    
    
begin tran --事务处理开始
    
    
declare @insertError int,@updateError int
    
    
insert into [dptInfo] values(@dptName,@dptWorker--插入语句操作正常
    
    
select @insertError=@@error
    
    
    
update [dptInfo] set dptname='fantasy' where id=100 --更新语句由于id=100的记录不存在导致操作异常,因此事务会回滚到事务开始之前的位置,即前面插入的那条记录会消失
    
    
select @updateError=@@error
    
    
if(@insertError=0 and @updateError=0--如果事务顺利完成没有异常
        commit tran --事务完成
    else --如果有异常
        rollback tran --事务回滚
    
    
SET NOCOUNT OFF
     
    
RETURN
原文地址:https://www.cnblogs.com/meiproject/p/955064.html