oracle数据库自动提交事务(autocommit)为OFF,但事务自动提交了
 (2012-04-21 15:49:56)
	
			
					(2012-04-21 15:49:56)		| 标签: oracle数据库事务autocommitit | 分类: Oracle数据库 | 
http://s2/bmiddle/68fe7e15gbe2bb8cde511&690
问题描述:如上图所示,以scott账号登陆,执行delete from dept where deptno=50后,再换system账号登陆,发现deptno=50的数据行已经被删除了,而show autocommit=OFF;
原因:切换用户,用的是connect命令,是会提交事务的。
解决方法:再打开一个控制台sqlplus用另一用户登录啊。在一个sqlplus不可能用多个session的。如图
http://s8/bmiddle/68fe7e15h796acb34ff77&690
附加知识:
提交数据有三种类型:
显式提交、隐式提交及自动提交。下面分别说明这三种类型。
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;

 加载中…
加载中…