我能够在下面的 SQL Server 2008 R2 中创建存储过程,但现在我遇到了障碍,因为我需要以一种存储过程将使用事务并检查插入语句中的错误的方式来执行此操作。发现错误时 - 事务应回滚并且不应提交任何内容。任何帮助,将不胜感激。
使用 Northwind GO CREATE PROC spEmployee @EmployeeID int AS SELECT * FROM employees WHERE EmployeeID=''+@EmployeeID+'' GO EXEC spEmployee @EmployeeID=2 GO
CREATE PROC spEmployee @EmployeeID int
开始交易
SELECT * FROM employees WHERE EmployeeID=''+@EmployeeID+''
GO EXEC spEmployee @EmployeeID=2
如果@@ERROR <> 0 则执行
开始
回滚
RAISERROR ('EXECUTE 之后的事务计数表示 BEGIN 和 COMMIT 语句的数量不匹配。先前计数 = 1,当前计数 = 2。', 16, 2)
返回
结尾
犯罪