2012-04-18 63 views
0

我能夠在下面的SQL Server 2008 R2中創建存儲過程,但現在我碰到了一堵磚牆,因爲我需要以存儲過程將使用事務的方式執行此操作,並將檢查插入時的錯誤聲明。當發現錯誤時 - 事務應該回滾並且不應該提交任何內容。任何幫助,將不勝感激。如何創建使用事務的存儲過程?

USE羅斯文 GO CREATE PROC spEmployee @EmployeeID INT AS SELECT * FROM僱員WHERE僱員= '' + @僱員+ '' GO EXEC spEmployee @僱員= 2 GO


CREATE PROC spEmployee @EmployeeID int

AS BEGIN TRANSACTION

SELECT * FROM僱員WHERE僱員= '' + @僱員+ ''

GO EXEC spEmployee @僱員= 2

GO IF @@ ERROR <> 0

BEGIN

ROLLBACK

RAISERROR('EXECUTE後的事務計數表示不匹配的BEGIN和COMMIT語句數。先前計= 1,當前計數= 2',16,2)

RETURN

END

COMMIT

回答

0

首先去讀取有關的SQL2005 try catch塊向上。您在這裏使用SQL 2000錯誤處理。在線SQL書籍將對您所需的信息非常有用。