博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于Oracle中read only Transaction
阅读量:4106 次
发布时间:2019-05-25

本文共 884 字,大约阅读时间需要 2 分钟。

大家都比较知道在Oracle中可以设置事务的隔离级别,其中有一个级别是read only.

read-only
遵从事务级的读一致性,仅仅能看见在本事务开始前由其它事务提交的更改。
不允许在本事务中进行DML操作。
read only是serializable的子集。它们都避免了非重复读和幻像。
区别是在read only中是只读;而在serializable中可以进行DML操作。

看到这段解释,有的朋友就遇到问题了,主要是针对“不允许在本事务中进行DML操作”的疑惑。
(备注:先在很多同志写的资料啊,BOOK啊,都写的很含糊,不尽然,所以很容易给有些朋友
带来疑惑)

比如:
SQL> conn /as sysdba
已连接。
SQL> create table toms(no int);

表已创建。

SQL> set transaction read only;

事务处理集。

SQL> insert into toms values(1);

已创建 1 行。

SQL> commit;

提交完成。

SQL> select * from toms;

NO
----------
1

其实,Oracle在相关的doc上已经做了声明

READ ONLY
This clause is not supported for the user SYS. That is, queries by SYS will return changes
made during the transaction even if SYS has set the transaction to be READ ONLY.


所以大家今后遇到这个问题也就不必再疑惑了。再次奉劝大家,有时间还是要看官方的doc,特别是刚开始学习Oracle的同志[虽然阅读e文虽有点困难,但学习的比较系统、全面,"大侠"们写的东西,我个人认为不合适初学者,因为你这个时候还没有分辨能力,而大侠的作品又不可能写的那么全面细致,他们更多的注重的是思路、方法和一些关键步骤,可以说是眼高手疏吧。哈哈]

相关连接:

转载地址:http://eynsi.baihongyu.com/

你可能感兴趣的文章
《达芬奇的人生密码》观后感
查看>>
论文翻译:《一个包容性设计的具体例子:聋人导向可访问性》
查看>>
基于“分形”编写的交互应用
查看>>
《融入动画技术的交互应用》主题博文推荐
查看>>
链睿和家乐福合作推出下一代零售业隐私保护技术
查看>>
Unifrax宣布新建SiFAB™生产线
查看>>
艾默生纪念谷轮™在空调和制冷领域的百年创新成就
查看>>
NEXO代币持有者获得20,428,359.89美元股息
查看>>
Piper Sandler为EverArc收购Perimeter Solutions提供咨询服务
查看>>
RMRK筹集600万美元,用于在Polkadot上建立先进的NFT系统标准
查看>>
JavaSE_day12 集合
查看>>
JavaSE_day14 集合中的Map集合_键值映射关系
查看>>
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>
MySQL关键字的些许问题
查看>>