sqlserver一个完整的事务提交和异常处理回滚逻辑处理演示代码
简书链接:sqlserver一个完整的事务提交和异常处理回滚逻辑处理演示代码
文章字数:592,阅读全文大约需要2分钟
1 | BEGIN TRAN MyTransaction -- 开始事务 |
其中save并不是提交,而是保存 一个点,而回滚则可以回滚事务点也可以回滚 保存点?
另外我发现 关于这个执行末尾穿透,需要直接return,否则会直接穿透到ErrTransHandle
print ('---');
SELECT @code=0,@msg='已经提交完成'
commit tran tran_roll
return
END
ErrTransHandle:
SELECT @code=-1,@msg= @msg+' 回滚了'
rollback tran tran_roll
ErrHandle:

所以总结,
搞不懂咋回事不知道是我删了代码还是咋的,我发现丢失了一个提交事务和一个返回
因此导致数据提交还是被回滚了,所以没报错,如果 开始了事务没回滚也没进行提交,那也是会报错的,偏偏就出在我对语法不熟悉,就遇到这个问题,经过打印日志终于解决此问题。
不能调试的远程开发中,结合了打印加 存储转 sql 存储转 打印版本sql,各种方法便捷定位
甚至在执行存储的时候我弄了一个模拟执行语句的和设置的sql变量代码,方便直接粘贴到sql 中执行。
感兴趣的在vscode和搜索azud studio中搜索strore proc to sql
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 情迁博客!
评论

