sql-server – SQL Server:存储过程事务

前端之家收集整理的这篇文章主要介绍了sql-server – SQL Server:存储过程事务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
你好我有一些存储过程来创建我的网站上的产品和其他东西.现在我必须在一个交易中运行其中的一些.这是可能的,还是只能为交易制定存储过程?

我可以说些什么吗

BEGIN TRAN
"1. stored procedure"
"2. stored procedure"
COMMIT

解决方法

添加到上面的其他答案,您可能需要添加一些错误处理:
BEGIN TRAN

BEGIN TRY

   EXEC P1

   EXEC P2

   COMMIT TRAN

END TRY
BEGIN CATCH

  ROLLBACK TRAN

END CATCH

用C#代码进行更新(我个人觉得将trans代码从sprocs和数据层中保存起来容易得多 – 使得在稍后阶段更容易构建存储过程):

using (var conn = new sqlConnection(...))

    trans = conn.BeginTransaction();

    try
   {
       ...call P1 using transaction
       ...call P2 using transaction

       trans.Commit();
   }
   catch
   {
       trans.RollBack();
       throw;
   }
}

猜你在找的MsSQL相关文章