PLSQL Developer中控制结果集表格自动提交

PLSQL Developer可以说是个让人又爱又憎的工具,“爱”是他的确提供了操作Oracle数据库非常丰富、方便的功能,“憎”是他的一些隐藏配置很可能是个“坑”,就像《PLSQL Developer几个可能的隐患》介绍了几个场景。

其他历史文章,

《PLSQL Developer中文乱码问题》

《PLSQL Developer免密登录》

今天朋友碰巧问了个问题,PLSQL Developer的Preferences首选项中这个“AutoCommit posted records”是什么含义?

PLSQL Developer中控制结果集表格自动提交_第1张图片

首先看了下工具自带的手册,对“AutoCommit posted records”的介绍,

AutoCommit posted records.
This options controls if records posted through the result grid are automatically committed.

直译过来,就是这个选项控制通过结果集表格提交的记录是否自动提交事务。好像还是很晦涩,通过实验,能更直观理解。

创建测试表,

CREATE TABLE A(ID NUMBER);

使用for update,

SELECT * FROM a FOR UPDATE;

此时整张A表,都处于锁定状态,

PLSQL Developer中控制结果集表格自动提交_第2张图片

通常,我们选择“小锁”,打开编辑模式,

PLSQL Developer中控制结果集表格自动提交_第3张图片

对字段进行增删改操作,然后选择“对勾”,完成编辑,

PLSQL Developer中控制结果集表格自动提交_第4张图片

重点来了,如果勾选了“AutoCommit posted records”,此时刚才编辑的数据,会自动提交,工具栏中commit和rollback的按钮是灰的,


否则,工具栏中commit和rollback是高亮的,说明要执行,

其实能想象到,“AutoCommit SQL”和“AutoCommit posted records”针对的是两种不同场景的数据维护操作,一个是通过SQL完成的数据增删改(“AutoCommit SQL”),另一个则是通过for update编辑结果集表格的形式完成数据增删改(“AutoCommit posted records”)。

可以看出,PLSQL Developer软件功能设计的还是很精妙的,但还是开始说的,我们得了解清楚所作操作的影响,不能当做纯黑盒,才可能避免入“坑”,让工具成为我们放心的助手。

近期的热文:

《YNWA,同样是我们普通人的鞭策》

《小白是怎么搞懂GC全过程?》

《海底的下面究竟有什么?》

《几种去重的SQL写法》

《打造国产技术产品的必要性》

《SQL查询总是先执行SELECT语句么?》

《Oracle删除字段的方式和风险,你都了解么?》

《了解阿克曼转向原理的作用》

《登录缓慢的诡异问题》

《一个Full GC次数过多导致系统CPU 100%的案例排查》

《Java GC的基础知识》

《Linux下的^M困惑》

《Oracle相关提问的智慧技巧》

《很久以前的一篇对初学Oracle建议的文章》

《PLSQL Developer几个可能的隐患》

《从70万字SRE神作提炼出的7千字精华文章》

《从数据误删到全量恢复的惊险记录》
《公众号600篇文章分类和索引》

你可能感兴趣的:(PLSQL Developer中控制结果集表格自动提交)