如何创建使用事务的存储过程?

时间:2012-04-18 16:13:55

标签: transactions

我能够在下面的SQL Server 2008 R2中创建存储过程,但现在我遇到了问题,因为我需要以存储过程将使用事务的方式执行此操作并检查错误。插入声明。找到错误后 - 事务应回滚,不应提交任何内容。任何帮助将不胜感激。

使用Northwind 走 CREATE PROC spEmployee @EmployeeID int 如 SELECT * FROM employees WHERE EmployeeID =''+ @ EmployeeID +'' 走 EXEC spEmployee @ EmployeeID = 2 GO


CREATE PROC spEmployee @EmployeeID int

AS 开始交易

SELECT * FROM employees WHERE EmployeeID =''+ @ EmployeeID +''

GO EXEC spEmployee @ EmployeeID = 2

GO IF @@ ERROR<> 0

BEGIN

ROLLBACK

RAISERROR('EXECUTE后的事务计数表示BEGIN和COMMIT语句的数量不匹配。前一个计数= 1,当前计数= 2.',16,2)

RETURN

END

COMMIT

1 个答案:

答案 0 :(得分:0)

首先在SQL2005中向上阅读try catch块。您在此处使用SQL 2000错误处理。在线SQL书籍对于您需要的信息非常有用。