ssr*_*532 1 database oracle concurrency transactions commit
oracle如何处理多个用户在同一数据对象上执行的dml语句?假设,
如果有一个名为空的表EMP(empname varchar2(30)),则用户' A'进入该表
使用,
insert into emp values('A');
Run Code Online (Sandbox Code Playgroud)
但尚未承诺.
如果另一个用户' B'登录到同一个数据库提交,他/她是否会看到由' A' 执行的dml操作(即表中的' A' EMP)?
将非常感谢与此主题相关的其他方案/链接.提前致谢.
在提交之前,不会在会话之外看到事务.如果另一个用户登录,则他们将看到该表在其上次提交状态时存储在数据库中.这就是撤消空间,重做日志等的原因.在你的场景中,即使B已经提交了他,因此用户B也不会看到A的交易,因为A没有提交他们的更改.