oracle 学习笔记

来源:互联网 发布:linux安装网站安全狗 编辑:程序博客网 时间:2024/06/07 13:00

COMMIT 是提交你的DML操作.

ROLLBACK 是取消你的DML操作.

  DML操作主要指一些插数据\更新数据的操作,你的操作在没有COMMIT和ROLLBACK前,都还在本机的SESSION中,还没有更新至数据库。

1、首先commit和rollback是在进行insert、update、delete语句完成后需要做的操作(即对表中的记录进行修改),而select则不需要。    为了防止你的操作有误,执行完以上三种语句后,数据库没有直接把结果保存,    如果确认无误则可以commit(提交),如果有误(或反悔)可以rollback(回滚)2、DML可以回滚,DDL不能回滚    只有DML才需要手动commit    DDL语句,它是默认提交的,所以rollback没有用

commit 和 rollback 从最终结果上讲是相反的。

a)、commit 将数据的变化永久保留b)、rollback 将变化之前的数据“还原回去”c)、一旦发出commit了 就不能rollback了。(但是如果你想恢复数据的话还是有办法的flashback 是可以的)举例讲:update a set b=1 where b=2;commit 的作用是将这个结果永久化。rollback 的作用相当于 update a set b=2 where b = 1 后 再commit;

什么时候使用commit和rollback?

SQL语言分为五大类:DDL(数据定义语言) - Create、Alter、Drop 这些语句自动提交,无需用Commit提交。DQL(数据查询语言) - Select 查询语句不存在提交问题。DML(数据操纵语言) - Insert、Update、Delete 这些语句需要Commit才能提交。DTL(事务控制语言) - Commit、Rollback 事务提交与回滚语句。DCL(数据控制语言) - Grant、Revoke 授予权限与回收权限语句。
原创粉丝点击