![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)
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
/** //*------- 判断事务数是否大于0 ----------- */
IF ( @@TRANCOUNT > 0 )
BEGIN
/** //*-------- 事务回滚 -------- */
ROLLBACK TRANSACTION tran_test
END
GO
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
/** //*------- 判断事务数是否大于0 ----------- */
IF ( @@TRANCOUNT > 0 )
BEGIN
/** //*-------- 事务回滚 -------- */
ROLLBACK TRANSACTION tran_test
END
GO
![](https://i-blog.csdnimg.cn/blog_migrate/f0cd6c7f9e7ae96feae062cb48f670f0.gif)