有一存储过程create proc aaa
参数...
as
SQL语句1
SQL语句2
SQL语句3
go现在里面写的3个语句没在同一事物中 若是改成同一事务中该如何写

解决方案 »

  1.   


    create proc aaa 
    参数... 
    as 
    BEGIN TRANSACTION
    SQL语句1 
    SQL语句2 
    SQL语句3 
    COMMIT TRANSACTION
    go   
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  2.   

    create proc aaa 
    参数... 
    as 
    begin tran
    SQL语句1 
    if @@error<>0
          begin
            rollback tran
            return  -1
          end
    SQL语句2 
    if @@error<>0
          begin
            rollback tran
            return  -1
          end
    SQL语句3 
    if @@error<>0
          begin
            rollback tran
            return  -1
          end commit tran 
    go 
      

  3.   

    2楼的你写的那个看着挺清爽 我试了下如果 SQL语句1 执行成功 SQL语句2 执行失败
    语句1 根本没回滚啊
      

  4.   

    老师,看了你的代码受益匪浅,但我有个问题还是无法解决,帮我看看吧
    http://topic.csdn.net/u/20111206/15/3cf9de43-bf54-4bf3-8041-ebaabcc7a68f.html