您的位置:首页 > 数据库 > Oracle

整理关于oracle数据库中的commit和rollback的使用和原理

2016-08-08 15:03 369 查看
今天看到数据库中
4000
有commit和rollback字段,收集了一些资料和信息,结果如下:


commit 就是确定提交的意思,比如你用test账户登录数据库insert到表中一条记录,而不commit,那么别的账户在登录这个数据库时就查询不到你insert 的记录;而commit后则其他账户就能查询到你insert的记录了。
rollback就是回滚的意思,比如你用test账户登录数据库delete表中一条记录,这时你查询这个表时,则delete的记录不存在;再rollback后,你再查询你delete的记录时,发现被删除的记录又回来了。

COMMIT 是提交你的DML操作.
ROLLBACK 是取消你的DML操作.
DML操作主要指一些插数据\更新数据的操作,你的操作在没有COMMIT和ROLLBACK前,都还在本机的SESSION中,可以理解中还没有更新至数据库。

1、首先commit和rollback是在进行insert、update、delete语句完成后需要做的操作(即对表中

   的记录进行修改),而select则不需要。

   为了防止你的操作有误,执行完以上三种语句后,数据库没有直接把结果保存,如果确认无误

   则可以commit(提交),如果有误(或反悔)可以rollback(回滚)

2、在pl/sql developement 工具中如果你有insert、update、delete操作,会在工具栏上有提交、回滚的图标,亮色显示。

什么时候使用commit和rollback?

SQL语言分为五大类:
DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。
DQL(数据查询语言) - Select 查询语句不存在提交问题。
DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。
DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。
DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息