A-A+

oracle数据库自动提交事务(autocommit)为OFF,但事务自动提交了

2014年05月09日 Oracle, 数据库 暂无评论 阅读 752 次

问题描述:如上图所示,以scott账号登陆,执行delete from dept where deptno=50后,再换system账号登陆,发现deptno=50的数据行已经被删除了,而show autocommit=OFF;

原因:切换用户,用的是connect命令,是会提交事务的。

解决方法:再打开一个控制台sqlplus用另一用户登录啊。在一个sqlplus不可能用多个session的。如图

附加知识:

提交数据有三种类型:
显式提交、隐式提交及自动提交。下面分别说明这三种类型。
1、显式提交:用COMMIT命令直接完成的提交为显式提交。其格式为:SQL>COMMIT;
2、隐式提交:用SQL命令间接完成的提交为隐式提交。这些命令是:ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。
3、自动提交:若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,系统将自动进行提交,这就是自动提交。其格式为:SQL>SET AUTOCOMMIT ON;

原文链接 http://blog.sina.com.cn/s/blog_68fe7e150100z7tn.html

标签:

给我留言

Copyright © 2011-2018 零下二十四度Theme By  Ality  京ICP备16007547号   关于本站

用户登录