咨询一个关于事务问题

NEEZA哪吒 2022-06-10 13:31:16

try
ADOConnection.BeginTrans;
....
ADOConnection.CommitTrans;
except
ADOConnection.RollbackTrans;
end;

 

 

我简单一点,这样写,行不行。只用这个,不回滚。潜在问题有哪些?

ADOConnection.BeginTrans;
....
ADOConnection.CommitTrans;’

...全文
85 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazy_boom 2022-06-11
  • 打赏
  • 举报
回复 1

如果数据处理了一半 出现了异常 不回滚那么数据处理到哪 就保存到哪。如果回滚会将之前写入库表的数据撤销,保持数据的一致性。

tanqth 2022-06-10
  • 打赏
  • 举报
回复 1

你需要先了解事务。简单说,你可以这样理解,一批量的去处理数据,A处理完成处理B再处理C,直到N,所有的都处理完成,这些ABC到N里,可能存在一些关联性,如果其中某一个处理(主要是写入,包括修改与删除)出现错误,就可能会影响到其他相关联的数据错误(条件就是,若成功,就必须全部成功,失败则全都没做过)。那么,假如处理到C的时候出现了错误,A与B已完成了,这时候怎么办呢?回滚就是说,错了没关系,把之前的都抹去,等于什么都没做。

然后,你就想想,你的处理中是否需要用到这个回滚,如果不需要,那你为什么要用事务处理呢?

课程简介: 课程总计41课时,从什么是事务讲起,直到分布式事务解决方案,很的0基础基础与提升系列课程。对于难以理解的知识点,全部用画图+实战的方式讲解。 第一部分:彻底明白事务的四个特性:原子性、一致性、隔离性、持久性,用场景和事例来讲解。 第二部分:实战讲数据库事务的6中并发异常:回滚丢失、覆盖丢失、脏读、幻读、不可重复读、MVCC精讲。 第三部分:彻底搞清楚4种事务隔离级别:READ_UNCOMMITTED 读未提交隔离级别、READ_COMMITTED 读已提交隔离级别、REPEATABLE_READ 可重复度隔离级别、SERIALIZABLE 序列化隔离级别 第四部分:彻底搞清楚MySQL的各种锁:行锁、表锁、共享锁、排它锁、Next-Key锁、间隙锁、X锁、S锁、IS锁、IX锁、死锁、索引与锁、意向锁等。 第五部分:彻底搞清楚Spring事务的7种传播级别的原理和使用:PROPAGATION_REQUIRED、PROPAGATION_SUPPORTS、PROPAGATION_MANDATORY、PROPAGATION_REQUIRES_NEW、PROPAGATION_NOT_SUPPORTED、PROPAGATION_NEVER、PROPAGATION_NESTED分布式事务的理论基础:RPC定理、BASE理论、XA协议都是什么,原理是什么,有什么关联关系 第六部分:分布式事务的5种解决方案原理和优缺点:2PC两阶段提交法、3PC三阶段提交法、TCC事务补偿、异步确保策略、最大努力通知策略 第七部分:阿里巴巴分布式事务框架Seata:历经多年双十一,微服务分布式事务框架,用一个Nacos+Spring Cloud+Seta+MySql的微服务项目,实战讲解阿里的分布式事务技术,深入理解和学习Seata的AT模式、TCC模式、SAGA模式。 课程资料: 课程附带配套2个项目源码72页高清PDF课件一份阿里巴巴seata-1.1.0源码一份阿里巴巴seata-server安装包一份

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧