存储过程--通用事务的写法
-- =============================================
-- Author: leelin
-- Create date: 2020-8-28 17:11:46
-- Description: 通用存储过程事务
-- =============================================
CREATE PROCEDURE Pm_通用存储过程事务
@存储过程名称 nvarchar(max)
AS
begin
/*有则返回错误信息,无则返回空。*/
declare @ErrMsg nvarchar(max) = '';
/*事务逻辑*/
begin try
begin tran begin
/*要执行的存储过程*/
EXEC @存储过程名称
end
/*如果没有错误,直接提交事务*/
commit tran;
end try
begin catch
/*发现错误,回滚事务*/
rollback tran;
/*回滚事务以后,你还想干么,写这里*/
set @ErrMsg = error_message();
end catch
/*发送出错信息*/
select @ErrMsg as ErrMsg;
end
GO
|