ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle数据库自动提交事务(autocommit)为OFF,但事务自动提交了

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

原创 Linux操作系统 作者:DataKW 时间:2013-06-13 15:04:59 0 删除 编辑

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

from:http://blog.sina.com.cn/s/blog_68fe7e150100z7tn.html


 

问题描述:以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;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27573546/viewspace-763788/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Oracle并行FAQ
请登录后发表评论 登录
全部评论

注册时间:2012-08-12

  • 博文量
    132
  • 访问量
    298633