存储过程中如何使用事务

3/21/2007来源:SQL技巧人气:31197

数据库编程中,事务是经常需要用到的技术,在.net平台上,事务处理是非常好用的,但是在Sql Server数据库的存储过程中如何使用事务来完成数据的批量操作呢?
解决方案如下:

    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