找回密码
 立即注册

QQ登录

只需一步,快速开始

moer 活字格认证
金牌服务用户   /  发表于:2024-9-11 10:51  /   查看:482  /  回复:4
10金币
伪代码如下:



伪代码如下:
开启事务
        服务端命令A
        添加记录:表_日志
        服务端命令B
        更新记录:表_日志
        服务端命令C
        更新记录:表_日志
       
其中服务端A,B,C都有表记录的操作,如果发生错误,都回滚(除了“表_日志”)。        


把:添加记录:表_日志 ,更新记录:表_日志 放到事务外,肯定是可以的, 但是业务逻辑太长,不好修改。

最佳答案

查看完整内容

您好,那这样的话,就让服务端命令A,B,C的错误不要抛出到主命令的事务中就可以,思路和下方帖子差不多 一看就会,超有用活字格技能:二百零七、循环命令中出错如何继续循环 https://gcdn.grapecity.com.cn/showtopic-226600-1-1.html (出处: 葡萄城开发者社区) 服务端命令A,B,C写法如下图,使用异常捕获命令,然后再try命令里使用事务命令,事务命令下写具体逻辑,这样逻辑出错的话,事务命令会回滚,但是错误被捕获,走 ...

4 个回复

倒序浏览
最佳答案
最佳答案
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-11 10:51:48
来自 2#
本帖最后由 Lay.Li 于 2024-9-11 14:45 编辑

您好,那这样的话,就让服务端命令A,B,C的错误不要抛出到主命令的事务中就可以,思路和下方帖子差不多

一看就会,超有用活字格技能:二百零七、循环命令中出错如何继续循环
https://gcdn.grapecity.com.cn/showtopic-226600-1-1.html
(出处: 葡萄城开发者社区)


服务端命令A,B,C写法如下图,使用异常捕获命令,然后再try命令里使用事务命令,事务命令下写具体逻辑,这样逻辑出错的话,事务命令会回滚,但是错误被捕获,走catch命令给主命令返回一个返回码为0的信息,主命令还可以继续走


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
moer活字格认证
金牌服务用户   /  发表于:2024-9-11 15:34:58
3#
服务端A,B,C,如果发生错误,是要回滚。不能try,catch.     
回复 使用道具 举报
moer活字格认证
金牌服务用户   /  发表于:2024-9-11 15:36:50
4#
moer 发表于 2024-9-11 15:34
服务端A,B,C,如果发生错误,是要回滚。不能try,catch.

我想把“ 更新记录:表_日志” 这个用发送http请求到自己模块的服务端命令来完成。这样他就没有办法回滚了吧。
回复 使用道具 举报
Lay.Li悬赏达人认证 活字格认证
超级版主   /  发表于:2024-9-11 15:59:37
5#
您好,您说的这种方案应该是可行的,这里在try命令里面使用事务命令,发生错误也是会回滚的,将 abc服务端命令改写成如图所示的样子,发生错误时操作会回滚,但是因为有trycatch,错误并不会返回到调用abc的服务端命令中,这样主命令的添加日志操作就不会回滚

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部