簡體   English   中英

收到錯誤:COMMIT TRANSACTION請求在SQL腳本中沒有相應的BEGIN TRANSACTION

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

試圖對應用程序的數據庫執行更新,然后SQL Server向我拋出了一個Commit沒有相應的正在事務處理。 可以將我指向該過程,但我似乎無法找到問題所在。

這是我的代碼:

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 

您不需要COMMIT行,因為代碼中的END終止了前一個BEGIN 如果要添加事務,則應將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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM