简体   繁体   English

收到错误:COMMIT TRANSACTION请求在SQL脚本中没有相应的BEGIN TRANSACTION

[英]Receiving an error: The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION in SQL Script

Was trying to perform an update to a database for an application, and then SQL server threw me a Commit has no corresponding being transaction. 试图对应用程序的数据库执行更新,然后SQL Server向我抛出了一个Commit没有相应的正在事务处理。 It was kind enough to point me to the procedure but I cannot seem to find what the issue is. 可以将我指向该过程,但我似乎无法找到问题所在。

This is my code: 这是我的代码:

ALTER PROCEDURE [dbo].[sp_tblUser_Update] @UserID             INTEGER,
                                          @UserName           NVARCHAR(20),
                                          @Password           NVARCHAR(10),
                                          @Yard               NVARCHAR(50),
                                          @NewRole            NVARCHAR(50),
                                          @FullName           NVARCHAR(50),
                                          @Email              NVARCHAR(50),
                                          @BCConEmails        BIT,
                                          @CrewStatusReadOnly BIT
AS
  BEGIN
      -- SET NOCOUNT ON added to prevent extra result sets from
      -- interfering with SELECT statements.
      SET NOCOUNT ON;

      -- Insert statements for procedure here
      UPDATE tblUser
      SET    UserName = @UserName,
             UserPassword = @Password,
             Yard = @Yard,
             Fullname = @FullName,
             EmailAddress = @Email,
             NewRole = @NewRole,
             BCConEmails = @BCConEmails,
             CrewStatusReadOnly = @CrewStatusReadOnly
      WHERE  ( UserID = @UserID )
  END

GO

COMMIT 

You don't need the COMMIT line as the END in your code is what terminates the previous BEGIN . 您不需要COMMIT行,因为代码中的END终止了前一个BEGIN If you want to add a transaction you should put a BEGIN TRANSACTION before the update statement and move the COMMIT before the END 如果要添加事务,则应将BEGIN TRANSACTION放在update语句之前,并将COMMIT移到END之前

begin tran
delete from Customerages 
where Age=25
commit;
begin tran
delete from Customerages 
where Age=25
rollback;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 COMMIT TRANSACTION请求没有相应的BEGIN TRANSACTION - The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION ROLLBACK TRANSACTION请求在sql server中没有相应的BEGIN TRANSACTION错误 - ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION error in sql server 获取错误“回滚事务请求没有相应的开始事务” - Getting error “The rollback transaction request has no corresponding begin transaction” ROLLBACK TRANSACTION 请求没有对应的BEGIN TRANSACTION,但是还是报错 - The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION, but still getting an error ROLLBACK TRANSACTION 请求没有对应的 BEGIN TRANSACTION - ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION 消息3902,级别16,状态1. COMMIT TRANSACTION请求没有相应的BEGIN TRANSACTION - Msg 3902, Level 16, State 1. The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION 开始交易…提交交易问题 - Begin Transaction … Commit Transaction Issue SQLException - 事务BEGIN / COMMIT不匹配 - SQLException - Transaction BEGIN / COMMIT mismatch Sybase与SQL Server的BEGIN TRANSACTION…ROLLBACK或COMMIT TRANSACTION有何相似之处? - What is the Sybase analog to Sql Server's BEGIN TRANSACTION … ROLLBACK or COMMIT TRANSACTION? SQL事务开始结束不匹配? - SQL TRANSACTION Begin End mismatch?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM