Oracle_事务

Oracle_事务


-事物管理

create table account(

id number,

money number

);

--实现转账操作

update account set money = money - 100 where id = 2;

update account set money = money + 100 where id = 1;

--事务提交

commit;

--事务回滚

rollback;

select * from account;  

时间: 2025-01-11 10:22:07

Oracle_事务的相关文章

Oracle_事务控制语句

事务是对数据库操作的逻辑单位,在一个事务中可以包含一条或多条DML (数据操纵语言).DDL (数据定义语言)和DCL (数据控制语言)语句,这些语句组成一个逻辑整体. 事务的执行只有两种结果:要么全部执行,把数据库带入一个新的状态,要么全部不执行,对数据库不做任何修改.对事务的操作有两个:提交( COMMIT )和回滚( ROLLBACK ). 提交事务时,对数据库所做的修改便永久写入数据库.回滚事务时,对数据库所做的修改全部撤销,数据库恢复到操作前的状态.事务可用于操作数据库的任何场合,包括

oracle_事务与undo块

1.事务(transaction) 1.1事务的概念    事务是若干操作的集合,集合中的操作看作程一个整体,要么都完成,要么都取消.1.2事务的属性    Atomicity(原子性) 事务是一个整体,一起完成,一起取消.    Consistency(一致性) 事务将数据从一种一致状态转变为下一种一致状态.(指的是修改前与修改后吗?留疑)    Isolation(隔离性) 一个事物的影响在该事物提交前对其他事务都不可见.(由undo表空间完成)    Durability(永久性) 事务一

oracle_回滚

为了保证数据库中多个用户间的读一致性和能够回退事务.一.在一个简单的更新语句中,对于回滚段的操作存在多处,在事务开始时,首先需要在回滚表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,oracle必须以此来保证事务是可以回滚的.如果用户提交了事务,oracle会在日志文件记录提交,并且写出日志,同时会在回滚段中把事务标记为已提交:如果用户回滚事务,则oracle需要从回滚段中把前镜像数据读取出来修改数据缓冲区,完成回滚,这个过程本身也要产生redo,所以回退这个操作是很昂贵

Spring事务管理(详解+实例)

写这篇博客之前我首先读了<Spring in action>,之后在网上看了一些关于Spring事务管理的文章,感觉都没有讲全,这里就将书上的和网上关于事务的知识总结一下,参考的文章如下: Spring事务机制详解 Spring事务配置的五种方式 Spring中的事务管理实例详解 1 初步理解 理解事务之前,先讲一个你日常生活中最常干的事:取钱. 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱:然后ATM出1000元钱.这两个步骤必须是要么都执行要么都

MySQL的事务与事务隔离

MySQL中自从引入InnoDB引擎后,在MySQL中就支持事务,事务就是一组原子性的查询语句,也即将多个查询当作一个独立的工作单元,平时通过提交工作单元来完成在事务中的相应的查询或修改,在能支持事务的数据库中必须要满足ACID测试,即事务的四个特性: A:Atomicity,原子性(都执行或者都不执行) C:Consistency,一致性(从一个一致性状态转到另外一个一致性状态) I:Isolaction,隔离性(一个事务的所有修改操作在提交前对其他事务时不可见的) D: Durability

(十五)PL/SQL事务

数据库事务是一个工作的原子单元,其可以由一个或多个相关的SQL语句组成.所谓的原子性就是数据库的修改所带来的构成事务的SQL语句可以集体被提交,即永久到数据库或从数据库中(撤消)回滚.一个成功执行的SQL语句和提交的事务不一样.即使一个SQL语句执行成功,除非包含该语句的事务被提交,但也可以回滚和声明(S)的所有更改可以撤消. 一.开始事务事务都有开始和结束.事务开始时有下列事件之一:  连接到数据库后执行的第一个SQL语句.  在事务完成之后发出每一个新的SQL语句完成. 二.提交事务事务是通

spring事务没回滚

最近遇见一个问题,用spring管理实务,在service层处理数据,保存数据时出现异常,但没有回滚,检查了一下,发现是因为我用try catch将异常进行捕获了,没有抛出导致的:默认spring事务只在发生未被捕获的 runtimeexcetpion时才回滚. 处理发法一:捕获异常后,新生成runtimeexcetpion: try { userDao.save(user); userDao.update(user); } catch (Exception e) { logger.info("

回滚的意义---JDBC事务回滚探究

JDBC手动事务提交回滚的常见写法一直是rollback写在commit的catch之后: try{ conn.setAutoCommit(false); ps.executeUpdate(); ps.executeUpdate(); conn.commit(); }catch(Exception e){ conn.rollback(); } 但是,这种回滚是没有意义的: 一旦commit前出错, 就不提交了, 回滚无用 一旦commit了, 说明没错, 不用回滚 找到一篇和我观点相同的文章:

我的学习之路_第二十二章_事务

JDBC事务 [事务] 作用: 保证多条SQL语句,要么都执行成功,要么都执行失败. mysql数据库,执行SQL语句,自动开启事务,提交事务,回滚事务,把数据永久保存 oracle数据库,执行SQL语句,手动开始会务,提交事务,回滚事务,把数据永久保存. Connection接口中和事务有关的方法: 无返回值 setAutoCommit(boolean autoCommit) 将此连接的自动提交模式设置为给定状态. 参数:autoCommit : true表示自动提交模式, false表示禁用