2014-02-14 3 views
1

응용 프로그램에 대한 데이터베이스 업데이트를 수행하려고 시도한 다음 SQL Server가 Commit을 던져서 해당 트랜잭션이 없습니다. 그것은 나를 친절하게 절차를 가르쳐 줄 수는 있지만 그 문제가 무엇인지를 찾을 수없는 것 같습니다. 코드에서 END 이전 BEGIN을 종료 무엇으로오류 수신 : 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

전에 COMMIT를 업데이트 문 앞에 BEGIN TRANSACTION을 넣지 및 이동해야 - 아무 필요도 그것에 대해 전혀 –

답변

2

당신은 COMMIT 줄 필요가 없습니다

내 코드입니다. 당신이 거래를 추가 할 경우에 당신은 그냥`GO` 후`COMMIT`를 제거 END

-1
begin tran 
delete from Customerages 
where Age=25 
commit; 
begin tran 
delete from Customerages 
where Age=25 
rollback; 
관련 문제