`

rollback和commit的用法

阅读更多

首先,大家要清楚 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,在运行脚本后,表已经建好了,并不在需要你再进行显式提交。

可以形象的理解成


commit就是将数据库中的数据提交到回滚段中,会覆盖原先数据


rollback就是将回滚段中的数据回滚到数据库中,不会覆盖数据,不管先前有没有设置回滚点,rollback回滚的数据都不会变,除非commit覆盖了原先的数据

0
0
分享到:
评论

相关推荐

    SQL事务用法begin tran,commit tran和rollback tran的用法

    `BEGIN TRAN`、`COMMIT TRAN` 和 `ROLLBACK TRAN` 的正确使用能够保证在数据库中实现原子性和回滚能力,从而保护数据的完整性。在开发过程中,应始终考虑事务管理,尤其是在执行可能导致数据库状态改变的多个操作时...

    php+mysql事务rollback&commit示例

    在实际开发中,合理地使用事务以及`COMMIT`和`ROLLBACK`,可以显著提高数据库操作的安全性和稳定性。尤其是在涉及多个操作关联的场景下,事务机制能够确保要么全部操作成功,要么一个都不执行,从而避免出现数据不...

    git-rollback:轻松回滚提交

    安装$ gem install git-rollback用法$ git rollback贡献分叉( ) 创建功能分支( git checkout -b my-new-feature ) 提交更改( git commit -am 'Add some feature' ) 推送到分支( git push origin my-new-...

    oracle触发器调用存储过程

    这里的关键是,子事务是独立于主事务的,子事务中的Rollback和Commit操作只会影响子事务中的DML操作;同样,主事务中的Rollback和Commit操作只会影响事务中的DML操作,而不会影响子事务中的操作。在子事务中已经...

    PDO::commit讲解

    `PDO::commit()` 方法用于提交一个已经开启的事务。在调用此方法之前,通常会有一系列的数据库操作在一个事务中执行。一旦调用 `PDO::commit()`,这些操作就会被永久保存到数据库,事务结束,数据库连接将恢复到默认...

    SQLServer存储过程中事务的使用方法

    如果有任何错误,使用`ROLLBACK TRANSACTION`回滚事务,以保持数据的一致性。 ```sql if (@error <> 0) begin rollback transaction return -1 -- 操作结果错误标识 end else begin commit transaction ...

    基于GrégoireCachet的优秀要点的Django事务的提交和回滚信号。_Python_下载.zip

    在事务上下文中,`post_commit`和`post_rollback`信号可以在事务提交或回滚后执行额外的逻辑。 5. Grégoire Cachet的要点 - `post_commit`信号:在事务成功提交后触发,适用于清理工作、发送通知或执行其他需要...

    ADO.NET的详细使用方法

    本文将深入探讨ADO.NET的使用方法,包括连接数据库、执行SQL语句、处理结果集以及数据绑定等方面。 1. **连接数据库** - **Connection对象**:在ADO.NET中,通过`SqlConnection`类(对于SQL Server)或其他特定于...

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    事务的回滚和提交使用ROLLBACK和COMMIT命令,回滚撤销事务中的所有更改,提交则将事务中的更改永久保存。 数据库存储引擎决定了如何存储和检索数据,例如InnoDB支持事务处理,MyISAM不支持。 表分区是将大表分成更...

    《数据库系统概论》第5版原版授课-第10章.ppt

    数据库恢复技术主要包括多种策略和方法,如使用检查点技术。检查点是系统记录当前数据库状态的时刻,用于在故障发生后加速恢复过程。当系统崩溃时,可以根据检查点之前的日志记录来重做或撤销事务,恢复到检查点时的...

    PDO::rollBack讲解

    总结来说,PDO::rollBack是PDO扩展中实现事务管理的关键方法之一,它为开发者提供了控制事务和数据库状态的强大工具。正确使用PDO::rollBack可以帮助开发者避免数据不一致的问题,保证数据操作的安全性和可靠性。

    浅析Oracle和Microsoft SQL Server事务处理的异同.pdf

    事务的范围由用户控制,可以使用T-SQL中的BEGIN TRANSACTION、ROLLBACK和COMMIT命令来明确事务的边界。 2. 事务的提交和回滚: - 在Oracle中,用户可以显式地使用COMMIT命令来提交事务,或者在发生错误时,Oracle...

    DB2 中游标的使用

    1. **`COMMIT`和`ROLLBACK`的影响**:在使用游标时,如果未指定`WITHHOLD`选项,则`COMMIT`或`ROLLBACK`会导致游标关闭。 2. **游标定义的选择**:根据是否需要在循环内进行事务控制选择合适的游标定义方式。 3. **...

    实验报告-实验91

    实验报告“实验91”是关于SQL语言中的事务管理,主要涵盖了如何使用`BEGIN TRANSACTION`, `COMMIT TRANSACTION`, 和 `ROLLBACK TRANSACTION`语句来控制事务的生命周期。实验旨在帮助学生理解和掌握数据库事务的基本...

    oracle JDBC 驱动包 10g 9i

    - 回滚和提交(Rollback和Commit):Oracle JDBC驱动提供对事务的控制,你可以使用`Connection`对象的`commit()`和`rollback()`方法来确保数据的一致性。 - 游标(Cursor):通过游标,你可以逐行处理查询结果,而...

    SQL Server事务基本使用方法

    理解和掌握事务的基本使用方法及其潜在的并发问题,对于开发高质量、高可靠性的数据库应用程序至关重要。通过合理设置事务的隔离级别和正确使用事务控制语句,可以有效地避免常见的并发问题,提高系统的稳定性和性能...

    数据库的事务处理方法

    类似地,SYBASE数据库使用BEGIN TRANSACTION、COMMIT TRANSACTION和ROLLBACK TRANSACTION命令来管理事务。BEGIN TRANSACTION指定一组语句作为事务处理,COMMIT TRANSACTION提交事务,而ROLLBACK TRANSACTION用于回滚...

    SAP BAPI的使用介绍.pptx

    2. consistency:BAPI内部通常不包含COMMIT WORK和ROLLBACK WORK,这种机制为我们实现多个BAPI调用的原子性提供了可能 3. isolation:BAPI内部通常不包含COMMIT WORK和ROLLBACK WORK,这种机制为我们实现多个BAPI...

Global site tag (gtag.js) - Google Analytics