PL/SQL Developer 自动提交事务的设置


之前在某测试机上用update更新表,没有commit,也没有关PL/SQL Developer。

第二天,在自己电脑上查看该表,发现记录并没有更新

想用SQL语句重新更新,执行了十多分钟还没执行完。

想重新手动更新,提示:

至此,发现该表已经被锁定了,原因就是之前在测试机上使用了update却没有提交(commit)!!

DML操作如 insert,delete,update,select...for update 等都会触发表级锁和行级锁,

DML操作之后,commit操作之前,表会处于锁定状态,其它事务无法对该表进行操作!

所以,以后在DML操作之后记得加上语句:commit;  或者手动点击Commit 。

另外,PL/SQL Developer提供了自动提交的设置:

a.事务执行后自动提交:Tools -> Preferences -> Window Types -> SQL Window:勾选“AutoCommit SQL”,即可实现自动提交操作。

b.退出登录自动提交:Tools -> Preferences -> Oracle -> Connection -> Log off with open transaction:选择“Commit”。

--------------------------------------分割线 --------------------------------------

rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题

SQLPLUS spool 到动态日志文件名

Oracle SQLPLUS提示符设置

通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度

PL/SQL Developer实用技巧分享

--------------------------------------分割线 --------------------------------------

相关内容