【问题标题】:SQL Server Rollback transaction using two storedprocedures使用两个存储过程的 SQL Server 回滚事务
【发布时间】:2014-10-06 05:50:14
【问题描述】:

我正在开发一个与 SQL Server 数据交互的 C++ 应用程序。

我使用存储过程在一个表中插入数据。

插入数据后,几行代码后,我进行检查(只能在插入数据后执行此操作),如果检查失败,那么我想回滚之前的事务。请注意,我此时不想删除数据。

是否有任何事务服务(有两个存储过程),以便我可以调用第二个存储过程并回滚之前的事务。

简而言之,我需要配对两个存储过程 - 第一个 SP 插入和第二个 SP 根据我的条件提交/回滚事务。有可能吗?

提前致谢,

【问题讨论】:

    标签: c++ sql-server stored-procedures transactions rollback


    【解决方案1】:

    我想说最好的办法是创建一个主存储过程来开始和结束事务。

    在伪代码中,如下所示:

    CREATE PROCEDURE MASTERSP
    AS
    BEGIN
      BEGIN TRANSACTION
      EXEC FirstSP
      EXEC @Result = SecondSP
    
      IF @RESULT= -1 
          ROLLBACK 
      ELSE
          COMMIT 
    END  
    

    【讨论】:

    • 非常感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 1970-01-01
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多