首页 SQLServer SQLServer 使用try,catch来进行事务回滚

SQLServer 使用try,catch来进行事务回滚

作者:胡同里的砖头 围观群众:162 更新于:2023-12-28

ALTER PROC upTransactionCase  
AS
BEGIN
Set NOCOUNT ON;
Set XACT_ABORT ON;
BEGIN TRY --开始捕捉异常
BEGIN TRAN --开始事务
INSERT INTO Student VALUES('BertXie',100,'数学');
INSERT INTO Student VALUES('Tom',100,'数学');
COMMIT TRAN --提交事务
END TRY --结束捕捉异常
BEGIN CATCH --有异常被捕获
--在此可以使用xact_state()来判断是否有不可提交的事务,不可提交的事务
--表示在事务内部发生错误了。Xact_state()有三种值:-1.事务不可提交;
--1.事务可提交;0.表示没有事务,此时commit或者rollback会报错。
IF xact_state()= -1
BEGIN
ROLLBACK TRAN; --回滚事务
END
END CATCH --结束异常处理
END

  • 本文标题: SQLServer 使用try,catch来进行事务回滚
  • 文章分类:【SQLServer】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8