ストレージ・プロシージャでのトランザクションの使用例


インスタンス1
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

インスタンス2
 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