什么是事务 COMMIT和ROLLBACK操作各做什么事情

 我来答
惠企百科
2022-09-29 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起。

并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。

commit是提交操作,将操作显式提交到数据库,这里需要注意,并不是所有sql语句执行完都需要进行commit操作,有些操作执行完就已经自动隐式提交到数据库了。

ROLLBACK回滚操作,在commit操作之前可以使用rollback 操作回滚到之前的状态。

执行完sql语句之后,处理的数据都会放在回滚段中(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户执行 COMMIT / ROLLBACK后,放在回滚段中的数据就会被删除。

扩展资料:

COMMIT / ROLLBACK ,都是用在执行 DML 语句之后的。所谓 DML 语句就是 INSERT / DELETE / UPDATE / SELECT ,而 CREATE TABLE / VIEW 之类的语句,是 DDL。

DML 语句,执行完之后,处理的数据,都会放在回滚段中(除了 SELECT 语句),等待用户进行提交(COMMIT)或者回滚 (ROLLBACK),当用户执行 COMMIT / ROLLBACK 后,放在回滚段中的数据就会被删除。

所有的 DML 语句都是要显式提交了,所谓“显式提交”,就是要执行 COMMIT / ROLLBACK 。
而其他的诸如 DDL 语句的,都是隐式提交的。

就是说,不用进行COMMIT/ROLLBACK。在运行那些非 DML 语句后,ORACLE 已经进行了隐式提交,例如 CREATE TABLE,在运行脚本后,表已经建好了,并不在需要再进行显式提交

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式