http://jingyan.baidu.com/article/ac6a9a5e66804d2b653eaca9.html
今天PL/SQL Developer上用SQL语句删除部分数据,删除成功后,在页面上,发现一个怪异的现象,我删除的数据居然还存在!
简单来说就是:在PL/SQL Developer改动了数据,然后在项目中访问,发现数据没修改!
然后我把PL/SQL Developer重启后,发现又正常了!
原来PL/SQL DEVELOPER 默认不是自动提交,当关掉sql window窗口后或手动commit方进行数据的提交
因为不commit的时候,你的更改在当前的session是有效的,只有当你退出后,再查看,才发现数据没真正提交上去用丰哥的话说就是只提交到了内存里,没有提交到数据库上
我的第一感觉是,事务没有提交!
后面发现,原来PL/SQL Developer 默认是不会自动提交事务的!
那自能手动提交或者设置成自动提交事务!
打开PL/SQL Developer,
英语界面:Tools -> Preferences -> Window Types -> SQL Window:勾选“AutoCommit SQL”,
中文是:工具-> 首选项 -> 窗口类型 -> SQL窗口 -> 勾选“自动提交sql”
最后点击确定,即可实现自动提交操作
退出登录自动提交
英文:Tools -> Preferences -> Oracle -> Connection -> Log off with open transaction:选择“Commit”。
中文:工具-> 首选项 ->Oracle -> 注销(有打开的事务) -> 选择提交
现在,无论是执行sql,还是注销用户,都会自动提交事务啦!