PLSQL Developer可以说是个让人又爱又憎的工具,“爱”是他的确提供了操作Oracle数据库非常丰富、方便的功能,“憎”是他的一些隐藏配置很可能是个“坑”,就像《PLSQL Developer几个可能的隐患》介绍了几个场景。
其他历史文章,
《PLSQL Developer中文乱码问题》
《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软件功能设计的还是很精妙的,但还是开始说的,我们得了解清楚所作操作的影响,不能当做纯黑盒,才可能避免入“坑”,让工具成为我们放心的助手。
文章至此。