整理关于oracle数据库中的commit和rollback的使用和原理
2016-08-08 15:03
369 查看
今天看到数据库中
4000
有commit和rollback字段,收集了一些资料和信息,结果如下:
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?
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 授予权限与回收权限语句。
相关文章推荐
- 用JDBC访问ORACLE数据库 关于commit 增快效率 大数据 等的整理
- 关于COMMIT和ROLLBACK语句的使用注意事项
- 整理一点关于Linux C函数的使用
- 关于函数strtok和strtok_r的使用要点和实现原理(二)
- FAQ:关于aspspider.net的申请与使用(逐渐整理中)
- 关于SQL SERVER时间格式使用的一些总结 综合整理
- 关于临时表使用,今天突然用到了临时表,一些sql语句顿时都想不起怎么来写了,今天请教同事头弄完了,特此整理下。
- 关于COMMIT与ROLLBACK的一个简单实验
- [android]关于SharedPreferences putString和commit的使用注意事项
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- 关于函数strtok和strtok_r的使用要点和实现原理(一)
- 关于Agent 角色代理使用(整理)
- 最近希望能够整理一下关于CVS的使用
- 关于ALTERA提供的FIFO核使用原理
- 关于tabhost使用的一点积累(未整理)
- 关于"cannot perform a DDL, commit or rollback inside a query or DML" 错误
- 关于Java开发中使用Oracle数据库的一点注意事项
- 关于使用sql删除数据库重复的数据的方法整理:
- 在spring中关于CP30数据库连接池使用oracle数据库是存储blog对象出错的问题
- 关于EXECUTE 后的事务计数指示缺少了 COMMIT 或 ROLLBACK TRANSACTION 语句。上一计数