oracle中对同一张表的更新读取同时进行,怎么保证数据的准确性?

2024-12-28 08:17:20
推荐回答(2个)
回答1:

如果b用户将字段值更新为5,此时之前id值为3的状态会在undo表空间中增加一条记录,在commit前,a用户还是查询的undo表空间种的数据,当b用户commit后a用户查询到的结果就是更新后的值了(id=5),这个机制是oracle自身的机制,希望能够帮到你

回答2:

这个不需要开发人员的干预,Oracle会自动根据不同的事务开启隔离,
更新的数据会被加 独占锁,查询的数据会加 排他锁。
2个事务都有自己的日志,互不干扰。