相关疑难解决方法(0)

我们是否需要在 C# 代码和存储过程中处理事务

我们真的需要 C# 中的事务处理以及双方的数据库存储过程吗?

C#:

Using(transaction with transaction scope)
{
     Execute stored proc;
     Transaction. Complete;
}
Run Code Online (Sandbox Code Playgroud)

SQL存储过程:

Create process
As
Begin try
    Begin transaction
    Commit
End try
Begin catch
    Rollback
End catch
Run Code Online (Sandbox Code Playgroud)

sql-server ado.net t-sql transaction c#

17
推荐指数
1
解决办法
9994
查看次数

存储过程中的事务

我需要在单个事务中执行 UPDATE 和 INSERT。该代码本身运行良好,但我希望能够轻松调用它并传入所需的参数。当我尝试将这个事务嵌套在一个存储过程中时,我遇到了很多语法错误。

如何封装以下代码以便轻松调用?

BEGIN TRANSACTION AssignUserToTicket
GO

DECLARE @updateAuthor varchar(100)
DECLARE @assignedUser varchar(100)
DECLARE @ticketID bigint

SET @updateAuthor = 'user1'
SET @assignedUser = 'user2'
SET @ticketID = 123456

    UPDATE tblTicket SET ticketAssignedUserSamAccountName = @assignedUser WHERE (ticketID = @ticketID);
    INSERT INTO [dbo].[tblTicketUpdate]
           ([ticketID]
           ,[updateDetail]
           ,[updateDateTime]
           ,[userSamAccountName]
           ,[activity])
     VALUES
           (@ticketID,
           'Assigned ticket to ' + @assignedUser,
           GetDate(),
           @updateAuthor,
           'Assign');
GO
COMMIT TRANSACTION AssignUserToTicket
Run Code Online (Sandbox Code Playgroud)

sql-server stored-procedures t-sql transaction sql-server-2012

13
推荐指数
2
解决办法
9万
查看次数