oracle中的commit和rollback
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中的commit和rollback相关的知识,希望对你有一定的参考价值。
commit就是确定提交的意思,比如你用test账户登录数据库insert到表中一条记录,而不commit,那么别的账户在登录这个数据库时就查询不到你insert
的记录;而commit后则其他账户就能查询到你insert的记录了。
rollback就是回滚的意思,比如你用test账户登录数据库delete表中一条记录,这时你查询这个表时,则delete的记录不存在;再rollback后,你再查询你delete的记录时,发现被删除的记录又回来了。 参考技术A 1、首先commit和rollback是在进行insert、update、delete语句完成后需要做的操作(即对表中
的记录进行修改),而select则不需要。
为了防止你的操作有误,执行完以上三种语句后,数据库没有直接把结果保存,如果确认无误
则可以commit(提交),如果有误(或反悔)可以rollback(回滚)
2、在pl/sql developement 工具中如果你有insert、update、delete操作,会在工具栏上有提交、回滚的图标,亮色显示,如图 参考技术B commit对你刚做的DML操作进行提交
ROLLBACK对你刚做的DML操作进行回滚(也就是刚才做错了撤销回去)用到UNDO段
oracle数据库有没有top这个关键字的。今天用top这个关键字的时候,它提示我的sql语句有语法错误
Oracle数据库里面有DCL语句(Data Control Language),一共有四个关键字,commit、rollback、grant和revoke。它们执行的时候,你都不会有什么感觉。commit在数据库编程的时候很常用,当你执行DML操作时,数据库并不会立刻修改表中数据,这时你需要commit,数据库中的数据就立刻修改了,如果在没有commit之前,就算你把整个表中数据都删了,如果rollback的话,数据依然能够还原。听我这么说,你或许感觉commit没什么用,其实不然。当你同时执行两条或两条以上的sql语句时,问题就出现了。举一个例子,你去银行转账,你转的时候银行的数据库会update你银行账户里面的数据,同时对另一个人得账户也进行update操作。这两个程序都必须全部正确执行,才能commit,否则rollback。如果只是完成一条,要么你郁闷,要么银行郁闷,第一种情况是,你的账户的钱没少,转账人得账户上的钱多了,银行郁闷了。第二种情况你的银行账户的钱少了,他的却没多,你就好郁闷了。Oracle好好学吧!sql不难,plsql努努力也能熬过去,等到优化那,哎!DBA不是那么好当的。还有就是commit算是显式提交,还有隐式提交,并不是,不commit的话,你的全部努力就都白费了。蓝屏 参考技术A oracle 中没有top 关键字 想做分页 只能用 rownumselect * from table_name b where rownum <= 3
mysql 中用的limit
select * from table_name b limit 0,3本回答被提问者采纳 参考技术B oracle 中没有top 关键字
select * from table_name b where rownum <= 3
mysql 中用的limit
select * from table_name b limit 0,3 参考技术C oracle 用 rownum吧
以上是关于oracle中的commit和rollback的主要内容,如果未能解决你的问题,请参考以下文章
Oracle 数据库中的 READ_COMMITTED 和 SERIALIZABLE 隔离级别有啥区别?
转: Oracle Form 中commit 与do_key('commit_form')区别