`
woshixushigang
  • 浏览: 576154 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

事务开始和结束

 
阅读更多

《Oracle Database 11g SQL开发指南》深入浅出、全面细致地讲解了如何读取和修改数据库信息,如何使用SQL Plus和SQL Developer,如何使用数据库对象,如何编写PL/SQL程序等内容。第8章将介绍更多有关修改表内容的知识。 本节说的是事务的开始与结束。

AD: <script src="http://www.51cto.com/js/article/keywords_ad_new.js"></script>

 

8.8.2  事务的开始与结束

 

事务是用来分割SQL语句的逻辑工作单元。事务既有起点,也有终点;当下列事件之一发生时,事务就开始了:

● 连接到数据库上,并执行一条DML语句(INSERT、UPDATE或DELETE)。

● 前一个事务结束后,又输入了另外一条DML语句。

当下列事件之一发生时,事务就结束了:

● 执行COMMIT或ROLLBACK语句。

● 执行一条DDL语句,例如CREATE TABLE语句;在这种情况下,会自动执行COMMIT语句。

● 执行一条DCL语句,例如GRANT语句;在这种情况下,会自动执行COMMIT语句。GRANT语句将在下一章中介绍。

● 断开与数据库的连接。在退出SQL*Plus时,通常会输入EXIT命令,此时会自动执行COMMIT语句。

 

如果SQL*Plus被意外终止了(例如运行SQL*Plus的计算机崩溃了),那么就会自动执行ROLLBACK语句。

这适用于任何可能访问数据库的程序。例如,如果编写了一个可以访问数据库的Java程序,而这个程序崩溃了,

那么就会自动执行ROLLBACK语句。

 

● 执行了一条DML语句,该语句却失败了;在这种情况中,会为这个无效的DML语句执行ROLLBACK语句。

 

提示:

 

不显式地提交或回滚事务被认为是不好的编程习惯,因此确保在每个事务后面都要执行COMMIT或ROLLBACK语句。

分享到:
评论

相关推荐

    浅谈SQL Server中的事务日志(一)----事务日志的物理和逻辑构架 .docx

    每个日志记录包含了事务的详细信息,如事务开始和结束、数据插入、更新和删除、分配或释放页、以及表和索引的创建或删除等操作。 当SQL Server遇到故障时,DBA可以依赖事务日志进行数据库恢复。事务日志的回滚机制...

    SQL语言总结(1. SQL语句分类(五类)2. 数据库事务由以下的部分组成3. 事务的开始与结束:4.事务进程)

    本文将深入探讨SQL语句的五类分类,数据库事务的组成、开始与结束,以及事务进程。 首先,SQL语句主要分为五类: 1. **DML(Data Manipulation Language)**:用于操作数据库中的数据。包括`INSERT`(插入数据)、...

    深入解析Java的Spring框架中的混合事务与bean的区分

    在事务管理中,Bean可能需要配置为事务边界,即事务开始和结束的地方。 在Spring中区分事务和Bean,主要体现在以下几个方面: 1. 职责分离:事务管理关注于数据的完整性和一致性,而Bean则关注业务逻辑的实现。将...

    事务机制C源代码

    1. 事务开始和结束的函数,如`start_transaction()`和`commit_transaction()`/`rollback_transaction()`。 2. 锁管理,用于在多线程环境中保护数据的并发访问。 3. 状态跟踪,如事务ID、事务状态(活动、准备提交、...

    Spring事务类型祥解

    正确地设定事务边界至关重要,这决定了事务开始和结束的时机。在服务层或DAO层的方法上添加`@Transactional`注解,以确保事务包含所有必要的数据库操作。 理解并熟练运用Spring的事务管理机制,能够有效地处理并发...

    Oracle事务概念及基础知识.pdf

    事务保证了数据库的一致性,确保在事务开始和结束之间,数据库始终处于合法状态。事务通常以`COMMIT`或`ROLLBACK`语句结束。`COMMIT`表示事务成功,所有更改永久保存;而`ROLLBACK`则取消事务中所有更改,使数据库...

    SSM中事务管理所需的jar包-aspectjweaver

    声明式事务管理更易于维护,只需在配置文件或注解中声明事务属性,而无需在业务代码中显式控制事务开始和结束。 2. **AspectJ**:AspectJ是一个强大的AOP框架,它允许开发者定义“切面”,即关注点的模块化,如日志...

    数据库系统工程师-06事务和锁.doc

    这意味着在事务开始和结束时,数据库的约束和规则都应该得到满足。例如,转账操作中,转账前后两个账户的金额总和应该保持不变。 3. **隔离性(Isolation)**:事务在执行时应该相互独立,避免相互影响。隔离性是通过...

    数据库恢复技术.doc

    2. **一致性** (Consistency):事务开始和结束时,数据库必须保持一致状态,这意味着事务执行前后,所有的业务规则和约束都应该得到满足。 3. **隔离性** (Isolation):并发执行的事务之间应彼此隔离,避免一个事务...

    LoadRunner中的事务

    为了测量登录过程的响应时间,我们可以在登录操作前后插入事务开始和结束标记。例如: ```vb lr_start_transaction("登录") ... web_url("LoginAction.do", ...) ... lr_end_transaction("登录", LR_AUTO) ``` 在...

    分布式事务管理与恢复PPT学习教案.pptx

    事务必须保证数据库的一致性,即在事务开始和结束时,数据库都处于一致状态。如果在事务执行过程中发生故障,如硬件或软件错误,数据库仍需保持一致。此外,当多个事务并发执行时,它们的结果应该等同于按照某个特定...

    Spring的事务10种常见失效场景总结.zip

    记得在服务层方法上正确使用该注解,确保事务开始和结束。 2. **切面配置错误**:在Spring配置文件中,如果事务切面(`&lt;tx:annotation-driven/&gt;`)没有正确配置,或者与AOP配置冲突,事务处理将无法正常工作。检查...

    02.MySQL事务篇.pdf

    一致性(Consistency)保证了事务开始和结束时,数据库的状态始终满足预设的完整性约束,即事务执行前后,数据的完整性不受破坏。 隔离性(Isolation)是防止不同事务互相干扰的关键。MySQL提供了四种隔离级别:未...

    spring事务配置详解

    在示例配置中,`TransactionProxyFactoryBean`用于创建一个代理,该代理在调用实际的DAO方法之前和之后处理事务开始和结束。以下是一个基本配置示例: ```xml &lt;!-- 目标对象 --&gt; &lt;!-- 事务策略 --&gt; *"&gt;...

    数据库分布式事务管理与恢复(初级)教程.ppt

    事务必须确保数据库的一致性,即在事务开始和结束时,数据库都处于合法的状态。然而,在事务执行过程中,数据库可能暂时处于不一致状态。这就引出了两个关键问题:一是如何处理各种软硬件故障,二是如何在多个事务...

    SSH 银行声明式事务

    声明式事务管理是Spring提供的一种强大的特性,它允许开发者通过配置来定义事务边界,而无需在代码中显式地管理事务开始和结束。 在Spring框架中,事务管理有两种主要方式:编程式事务管理和声明式事务管理。编程式...

    LoadRunner几个重要的概念:事务、集合点、思考时间

    在测试脚本中,事务通常通过添加事务开始和结束的标记来定义,当LoadRunner运行脚本时,一旦遇到事务开始标记,就开始计时,到达事务结束标记时,计时停止。因此,事务实际上是一个计时器,它记录了从开始到结束的...

    事务委托协议模板.pdf

    4. **委托期限**:明确了委托事务开始和结束的时间点,合同到期后,除非得到甲方书面同意,乙方不得继续处理委托事务。 5. **报酬与支付方式**:详细规定了乙方完成委托事务后应得的报酬总额,以及报酬的支付方式和...

    数据库的事务

    事务开始和结束时,数据库都处于有效状态。例如,转账前两个账户的余额之和等于转账后的余额之和,即使事务中间出现了错误,最终也会恢复到一致状态。 3. 隔离性(Isolation):隔离性保证了并发执行的事务不会相互...

    MySQL数据库:事务与锁机制

    例如,如果一个事务更新了账户余额,那么在事务开始和结束时,账户的总余额应该保持不变。这保证了数据的一致性和正确性。 **2.3 隔离性(Isolation)** 隔离性保证了并发执行的事务之间不会相互影响。MySQL提供了...

Global site tag (gtag.js) - Google Analytics