2014-02-14 49 views
1

正試圖爲應用程序執行數據庫更新,然後SQL服務器向我投擲了一個Commit沒有相應的事務。我非常友好地指點我的程序,但我似乎無法找到問題所在。接收到一個錯誤:COMMIT TRANSACTION請求在SQL腳本中沒有對應的BEGIN TRANSACTION

這是我的代碼:

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 
+3

就在'GO'後刪除'COMMIT' - 沒有必要,在所有 –

回答

2

你不需要COMMIT線在代碼中END就是將終止先前BEGIN。如果你想添加一個交易,你應該把BEGIN TRANSACTION更新語句之前和移動COMMITEND

-1
begin tran 
delete from Customerages 
where Age=25 
commit; 
begin tran 
delete from Customerages 
where Age=25 
rollback; 
相關問題