[SQL Server] 存储过程事务

转载自http://www.cnblogs.com/wyforumid/archive/2008/02/22/1077690.html

在存储过程中使用事务,以下为模板:

CREATE PROCEDURE testPro
AS
/**//* -------
事务开始---------- */
BEGIN TRANSACTION tran_test
/**//* --------
保存事务----------*/
SAVE TRANSACTION tran_test

/**//* -------- 数据操作---------*/
INSERT [table1] ( [content] ) VALUES ( '43332' )
/**//*----------
提交事务------------*/
COMMIT TRANSACTION tran_test

/**//*--------- 判断是否有错误----------*/
IF ( @@ERROR <> 0 )
BEGIN
/**//*----------
自定义错误输出----------*/
RAISERROR( 'Insert data error!',16,1 )
/**//*--------
事务回滚--------*/
ROLLBACK TRANSACTION tran_test
END
/**//*-------
判断事务数是否大于-----------*/
IF ( @@TRANCOUNT > 0 )
BEGIN
/**//*--------
事务回滚--------*/
ROLLBACK TRANSACTION tran_test
END
GO
原文地址:https://www.cnblogs.com/inhesoft/p/1577751.html