存储过程中使用事务Transaction实例

实例一


Create PROCEDURE [dbo].[tt2]

As

Begin

    Begin Transaction

        Update dbo.storeA Set Aid = 7 Where Aname ='N73'    

       Update dbo.storeA Set Aid = 9 Where Aname ='N97'        

       Insert Into dbo.storeA(Aid) Values('sdfs')       --此语句将出错,LockTypeID为Int类型 

       Update dbo.storeA Set Aid = 8 Where Aname ='N95'  

    Commit Transaction

    If(@@ERROR <> 0)

        Rollback Transaction        

End



实例二


 Declare @id int
    BEGIN TRANSACTION
   
       Insert into xxxxxTable(f1,f2)values(@a,@b)
       Select @id=@@identity
        Insert into abcTable(ff1,ff2,ff3)values(@c,@id,@dd)       

        IF @@error <> 0  --发生错误
        BEGIN
            ROLLBACK TRANSACTION
            RETURN 0
        END
        ELSE
        BEGIN
            COMMIT TRANSACTION
            RETURN 1    --执行成功
       END




参考资料:  存储过程中使用事务Transaction   http://www.studyofnet.com/news/551.html





你可能感兴趣的:(sql,数据库)