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


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

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

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

如图

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


附加知识:

提交数据有三种类型:
显式提交、隐式提交及自动提交。下面分别说明这三种类型。
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;


转载于:https://blog.51cto.com/suexiukjung/1244321

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-08-31
  • 2022-12-23
  • 2021-08-13
  • 2022-01-08
  • 2022-12-23
猜你喜欢
  • 2021-11-24
  • 2022-12-23
  • 2021-05-18
  • 2021-06-06
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案