PLSQL Developer可以说是个让人又爱又憎的工具,“爱”是他的确提供了操作Oracle数据库非常丰富、方便的功能,“憎”是他的一些隐藏配置很可能是个“坑”,就像《PLSQL Developer几个可能的隐患》介绍了几个场景。
其他历史文章,
今天朋友碰巧问了个问题,PLSQL Developer的Preferences首选项中这个“AutoCommit posted records”是什么含义?
首先看了下工具自带的手册,对“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表,都处于锁定状态,
通常,我们选择“小锁”,打开编辑模式,
对字段进行增删改操作,然后选择“对勾”,完成编辑,
重点来了,如果勾选了“AutoCommit posted records”,此时刚才编辑的数据,会自动提交,工具栏中commit和rollback的按钮是灰的,
否则,工具栏中commit和rollback是高亮的,说明要执行,
其实能想象到,“AutoCommit SQL”和“AutoCommit posted records”针对的是两种不同场景的数据维护操作,一个是通过SQL完成的数据增删改(“AutoCommit SQL”),另一个则是通过for update编辑结果集表格的形式完成数据增删改(“AutoCommit posted records”)。
可以看出,PLSQL Developer软件功能设计的还是很精妙的,但还是开始说的,我们得了解清楚所作操作的影响,不能当做纯黑盒,才可能避免入“坑”,让工具成为我们放心的助手。