服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

“顺序事务”与“只读事务”的实际应用

“只读事务”是指只允许查询操作,而不允许任何dml操作的事务。例如有两个session,sessiona及session b.当sessiona设置了只读事务后,即使session b对sessiona所查询信息做了修改,而sessiona所查询的依然是修改前的值。

time 1:

session a:

scott@kenny> set transaction read only;

transaction set.

time2:

session b:

scott@kenny> update emp set sal=4000 where ename='smith';

1 row updated.

scott@kenny> commit;

commit complete.

time 3:

session a:

scott@kenny> select * from emp where ename='smith';

empno ename job mgr hiredate sal comm deptno
---------- ---------- --------- ---------- --------- 
7369 smith clerk 7902 17-dec-80 2000 20
我们可以看到,在session a下所查到的值仍然是更改前的sal:2000。

=================================================

由于在只读事务中,无法继续执行dml操作,因此,可以设置顺序事务用来enable:

sql>set transaction isolation level serializable;

至此,我们就可以在session中继续dml操作了。

扫描关注微信公众号