为什么我在sql server中有这样的程序:
CREATE PROCEDURE my_proc
@x INT
AS
BEGIN TRANSACTION my_proc
BEGIN TRY
IF (@x < 0)
BEGIN
ROLLBACK TRANSACTION my_proc
END
UPDATE test SET x = @x
COMMIT TRANSACTION my_proc
END
BEGIN CATCH
ROLLBACK TRANSACTION my_proc
END CATCH
GO
我执行另一个调用此过程的过程传递参数...
exec secondProc 10
即使该值大于0,我也会收到此错误?
无法回滚my_proc,没有该名称的事务或保存点 找到。 EXECUTE后的事务计数表示不匹配的数量 BEGIN和COMMIT语句