`

事务控制

阅读更多

1.事务(Transaction

组成单个逻辑工作单元的一系列操作被称为事务。

 

2.数据库事务组成

0~多条DML语句

一条DDLData Define Language)语句

一条DCLData Control Language)语句

 

3.事务控制

通过将一组相关操作组合为一个要么全部成功,要么全部失败的逻辑工作单元,以简化错误恢复、提高应用程序的可靠性。

 

4.事务必须满足的ACID属性:

原子性(Atomicity

一致性(Consistency

隔离性(Isolation

持久性(Durability

 

5.事务的开始和结束

事务开始于第一条可执行语句

事务结束:

遇到commitrollback语句

遇到DDLDCL语句

用户会话结束

系统崩溃

 

6.事务的提交和回滚

显式的提交和回滚操作是为了更好地保证数据的一致性。

下述情况事务会被自动提交

执行一个DDL语句

执行一个DCL语句

正常结束会话

 

会话异常终止/系统崩溃时事务会被自动回滚。

 

7.Sql Plus的自动提交

Sql Plus中执行SQL语句时可以设置是否自动提交,缺省设置为非自动提交。

查看设置:

show autocommit

       autocommit OFF

       autocommit IMMEDIATE

改变设置

set autocommit on

set autocommit off

 

8.提交/回滚数据状态

当前事务中数据状态的改变是可以恢复的。

当前事务中的DML操作结果只对当前用户(会话)可见,其它用户(会话)看不到当前事务中的数据状态的改变,直到当前事务结束。

当前事务中的DML语句所涉及到的行被锁定,其它用户(会话)不能对其进行修改操作。

 

9.事务提交后数据状态

数据的修改永久生效、不可再撤销。

数据以前的状态永久性丢失、无法恢复。

所有的用户(会话)都将看到操作后的结果。

记录锁被释放,其它用户可对这些进行修改操作。

事务中的保存点(savepoionts)被清除。

 

10.事务回滚后数据状态

数据的修改被撤销。

数据恢复到修改前的状态。

记录锁被释放。

 

11.保存点

通过保存点在当前的事务中创建标记,将来可回退到指定的标记处,实现事务的部分回滚。

例:

insert into dept values(55, ‘Adv’, ‘Beijing’);

insert into dept values(56, ‘Sec’, ‘Shanghai’);

savingpoint p1;

insert into dept valuw(57, ‘Acc’, ‘Tianjin’);

 

select * from dept;

 

rollback to p1;

select * from dept;

分享到:
评论

相关推荐

    JdbcTemplate的事务控制.docx

    ### JdbcTemplate 的事务控制 #### 一、引言 在软件开发过程中,事务管理是非常重要的一个环节,尤其是在处理数据库操作时。事务能够确保一系列数据库操作要么全部成功,要么全部失败,从而保持数据的一致性和完整...

    jee事务控制.pdf

    ### J2EE事务控制详解 #### 一、引言 在现代J2EE项目中,事务控制是一项核心技能。为了确保数据的一致性与可靠性,理解事务管理的基础知识至关重要。本文将结合Hibernate和JPA标准,深入探讨J2EE持久层设计中遇到...

    ibatis事务控制案例

    在IT行业中,数据库操作是应用程序的核心部分,而事务控制则是保证数据一致性与完整性的关键机制。本案例聚焦于`ibatis`(MyBatis前身)的事务管理,它是一个轻量级的Java持久层框架,提供了灵活的SQL映射功能。在...

    Spring4+SpringMVC+Mybaties 内含有事务控制

    本教程将深入探讨如何在Spring4、SpringMVC和MyBatis集成环境下实现事务控制。 首先,让我们了解这三个组件的基本概念: 1. **Spring4**:Spring是一个开源的Java平台,它提供了全面的企业级应用开发解决方案,...

    Spring Boot数据库事务控制.zip

    在Spring Boot中,数据库事务控制是实现业务逻辑一致性的重要手段。本资料主要围绕Spring Boot如何进行数据库事务管理进行深入探讨。 首先,我们需要了解什么是事务。事务是数据库操作的基本单位,它保证了一组...

    spring+druid+AtomikosDataSource实现多数据源切换及分布式事务控制

    综上所述,"spring+druid+AtomikosDataSource"的组合为开发者提供了一套强大的工具,用于实现多数据源切换和分布式事务控制。在实际项目中,通过合理的配置和编码,可以构建出高效、健壮的分布式系统。在`mult-table...

    Spring Boot数据库事务控制.pptx

    1.问题引入 2.事务基本概念、特性 3.事务并发引起问题,隔离级别 4.Springboot事务控制

    spring事务控制

    spring事务控制jar包,请网上自寻下载

    JDBC事务控制--讲述如何控制JDBC事务

    ### JDBC事务控制详解 在数据库应用开发中,事务管理是一项重要的功能,它确保了一系列操作能够作为一个整体被正确地执行或回滚。Java Database Connectivity (JDBC) 是 Java 平台中用于连接数据库的标准 API,提供...

    声明式事务控制spring+hibernate集成

    在IT行业中,尤其是在企业级应用开发中,声明式事务控制是一种常见的事务管理方式。它允许开发者通过配置,而不是代码来管理事务,使得事务处理更加简洁、易于维护。本主题聚焦于"声明式事务控制"在Spring 2.5与...

    事务控制事务控制事务控制事务控制

    在IT行业中,事务控制是数据库管理系统中的核心概念,它确保数据的一致性和完整性,尤其是在并发操作和系统故障的情况下。事务是一系列数据库操作的逻辑单元,这些操作要么全部执行,要么全部不执行,遵循ACID(原子...

    oracle 数据操作与事务控制

    Oracle 数据操作与事务控制是数据库管理中的核心概念,主要涉及如何在Oracle数据库中添加、修改和删除数据,以及如何确保这些操作的完整性和一致性。在本章中,我们将深入探讨Oracle的数据操作语言(DML)和事务控制...

    开发过程中事务控制

    在软件开发中,事务控制是确保数据一致性、完整性和可靠性的关键机制。它主要用于数据库操作,特别是在多用户环境中,以防止并发操作导致的数据不一致。本文将深入探讨“开发过程中事务控制”这一主题,结合提供的`...

    执行存储过程时在项目代码中加事务控制(类)

    执行存储过程时在项目代码中加事务控制 存储过程,事务,类

    spring基于AspectJ实现事务控制

    在Spring框架中,提供了多种事务管理方式,其中之一就是基于AspectJ的事务控制。本文将深入探讨如何在Spring中利用AspectJ实现事务控制。 首先,我们需要理解什么是AspectJ。AspectJ是一种面向切面编程(AOP)的...

    Spring中的事务控制

    本篇文章将深入探讨Spring中的事务控制,包括事务的基本概念、事务的特性、Spring事务管理的模式以及如何在实际应用中配置和使用事务。 首先,事务是数据库操作的基本单位,确保数据的一致性和完整性。ACID(原子性...

    spring.net oracle 事务控制

    在本项目中,我们将讨论如何在Spring.NET中结合Oracle数据库实现事务控制,以及利用自定义异常处理来确保数据的一致性和完整性。 首先,让我们了解什么是事务。在数据库操作中,事务是一系列操作的集合,这些操作...

    Mysql事务控制(XA分布式事务)和锁定语句

    ### MySQL事务控制与分布式事务详解 #### 表锁机制概览 MySQL的表锁机制针对不同存储引擎提供了差异化的锁定策略。MyISAM和Memory存储引擎支持表级锁定,这意呈着一次只能有一个进程访问特定表进行写入操作,而...

    Spring事务控制

    Spring事务控制

Global site tag (gtag.js) - Google Analytics