oracle中的commit和rollback
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中的commit和rollback相关的知识,希望对你有一定的参考价值。
具体是什么意思啊?
1、首先commit和rollback是在进行insert、update、delete语句完成后需要做的操作(即对表中
的记录进行修改),而select则不需要。
为了防止你的操作有误,执行完以上三种语句后,数据库没有直接把结果保存,如果确认无误
则可以commit(提交),如果有误(或反悔)可以rollback(回滚)
2、在pl/sql developement 工具中如果你有insert、update、delete操作,会在工具栏上有提交、回滚的图标,亮色显示,如图
参考技术A commit 就是确定提交的意思,比如你用test账户登录数据库insert到表中一条记录,而不commit,那么别的账户在登录这个数据库时就查询不到你insert 的记录;而commit后则其他账户就能查询到你insert的记录了。rollback就是回滚的意思,比如你用test账户登录数据库delete表中一条记录,这时你查询这个表时,则delete的记录不存在;再rollback后,你再查询你delete的记录时,发现被删除的记录又回来了。本回答被提问者采纳 参考技术B
commit 就是确定提交的意思。
rollback就是回滚的意思。
甲骨文股份有限公司(Oracle)是全球大型数据库软件公司,总部位于美国加州红木城的红木岸。在2008年,甲骨文股份有限公司是继Microsoft及IBM后,全球收入第三多的软件公司。Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统。甲骨文股份有限公司于1989年正式进入中国,在北京、上海、广州和成都均设立了分支机构。
2016年1月,甲骨文表示会收购网站数据追踪服务商AddThis。2016年2月,甲骨文收购了云计算创业公司Ravello Systems。2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。
ROLLBACK 是取消你的DML操作.
DML操作主要指一些插数据\更新数据的操作,你的操作在没有COMMIT和ROLLBACK前,都还在本机的SESSION中,可以理解中还没有更新至数据库.
请采纳. 参考技术D commit对你刚做的DML操作进行提交
ROLLBACK对你刚做的DML操作进行回滚(也就是刚才做错了撤销回去)用到UNDO段追问
怎么才是提交啊,回车就提交了吗
追答当你执行完DML语句之后
SQL>commit;
oracle中的事务
事务
概述:通过sql 对数据库进行操作时,同时执行成功或失败,且数据完整性一致。
链接到oracle的用户(例如plsql或sqlplus)会形成一个session, 此时对数据库的更新操作,不会立即修改数据,不提交的情况下,可以进行回滚操作。
rollback 回滚事务(数据被提交将无法回滚)
commit 提交事务
例如:rollback
----查询结果是王五
> select * from table where name=‘王五‘;
-----王五更新成李四
> update table set name=‘李四‘ where name=‘王五‘;
----再次查询王五,查不到数据;-查询李四可以查询到数据
> select * from table where name in (‘王五‘, ‘李四‘);
---此时进rollback操作,回滚数据
> rollback;
---查询王五可以查到结果,查询李四查不到数据
> select * from table where name in (‘王五‘, ‘李四‘);
例如:commit
----查询结果是王五
> select * from table where name=‘王五‘;
-----王五更新成李四
> update table set name=‘李四‘ where name=‘王五‘;
----再次查询王五,查不到数据;-查询李四可以查询到数据
> select * from table where name in (‘王五‘, ‘李四‘);
---此时进commit操作,回滚数据
> commit;
---查询王五可以查不到结果,查询李四查到数据
> select * from table where name in (‘王五‘, ‘李四‘);
---进行回滚
> rollback;
---在查询数据,发现查询结果还是李四,说明已经提交数据修改,无法回滚
> select * from table where name in (‘王五‘, ‘李四‘);
死锁
多用户同时修改一条数据,且最先修改数据的那个用户的session未提交数据,则其他用户的session无法修改这条数据,一直处于等待对方commit后
以上是关于oracle中的commit和rollback的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 数据库中的 READ_COMMITTED 和 SERIALIZABLE 隔离级别有啥区别?
转: Oracle Form 中commit 与do_key('commit_form')区别