什么是事务 COMMIT和ROLLBACK操作各做什么事情
2022-09-29 · 百度认证:北京惠企网络技术有限公司官方账号
访问并可能更新数据库中各种数据项的一个程序执行单元(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,在运行脚本后,表已经建好了,并不在需要再进行显式提交。