Oracle与Mysql数据的事务处理机制

相比oracle的事务处理,Mydql相对还是简单一点的,但是事务作为一项重要的安全机制在数据库里面是必不可少的,特别是里面的事务回滚机制非常的有用,不多说了,先说一下mysql的事务处理:

Mysql简单的回滚:

第一步:开始事务:start transaction;

第二步:执行dml等其他的变化操作。

第三步:混滚到开始事务之前状态: rollback;

这样的话在执行完毕之后就发现之前的一些操作没有执行成功。只有commit提交之后才会真正的把数据提交。但是,还要考虑下面的两种情况,一种是服务关闭的情况,这样我们的数据回滚在没有提交的情况下是有真正的去执行,还有就是回滚是能够用一次,再次使用虽然不报错,但是不起任何作用。

如果你会说了,我想在一次事务中国实现多次回滚怎么办,这里你可以使用设置保存点:

在上面的第二步中,你可以这样一下: savepoint 保存点1(名称而已);

然后你继续执行dml,到了耨一个地方继续savepoint 保存点2;

你是不是想通过rollback to 保存点的方式会滚到之前的状态。但是,不得不告诉你,旺旺想想的和显示的情况并不是一模一样,你会发现只能够滚滚到第一个保存
点,其他的保存点会提示不存在!

Oracle的事务处理:

Oracle是不用说明开启事务的,针对dml语句,当你设置保存点,接下来的步骤如上返回到保准点同样的用commit提交事务。

但是,我这里就总结出了一个重要的原则:事务回滚只能反方向一直逆行,这个过程已然不可逆。除非提交结束事务。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-02 06:22:34

Oracle与Mysql数据的事务处理机制的相关文章

mysql 数据表读锁机制详解

为了给高并发情况下的mysql进行更好的优化,有必要了解一下mysql查询更新时的锁表机制.一.概述MySQL有三种锁的级别:页级.表级.行级.MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking):BDB存储引擎采用的是页面锁(page-levellocking),但也支持表级锁:InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁.MySQL这3种锁的特性可大致归纳如下:表级锁:开销小,加锁快:不会

非常简单的oracle和mysql数据互传

工具是navicat,我用的是Navicat Premium 10: 这个工具可以同时连接mysql和oracle,如图: 同时连接上这两个库之后 工具->数据传输 左边是数据源,右边是导入目标,选定后开始即可,就可以看到完整相同的数据了. 这里连接oracle时我遇到了一个报错,如果你们也遇到了可以看一下navicat连接oracle时发现 ORA-12737 set CHS16GBK

迁移mysql数据到oracle上

转自:http://www.cnblogs.com/Warmsunshine/p/4651283.html 我是生成的文件里面的master.sql里面的sql,一个一个拷出来的. 迁移mysql数据到oracle上 一.   服务器本地安装Oracle11G或10G 二.   在运行中输入sqlplus /nolog,oracle中创建表空间. 三.   安装完成后在运行中输入 sql developer打开sql developer (就是本机自带的) 四.   选择jdk版路径(jdk版本

Oracle、MySql、SQLServer 数据分页查询

Oracle.MySql.SQLServer 数据分页查询 摘自:http://www.cnblogs.com/wangyong/p/3396333.html 近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句通式: /* * sql:可以是单表的查询语句,也可以是多表的联合查询语句 * firstIndex:

python将oracle中的数据导入到mysql中。

一.导入表结构.使用工具:navicate premium 和PowerDesinger 1. 先用navicate premium把oracle中的数据库导出为oracle脚本. 2. 在PowerDesinger里找到 File -->> Reverse Engineer --->> Database 将数据库导入到模型. 3  在.PowerDesinger里找到Database"--->"Change Current DBMS" 将数据库

oracle至mysql该指南的数据模式()任意数据源之间的跨导应用

为了产生的一些资源的库的释放.需要API模块迁移到mysql在,需要引导数据. 试用oracle to mysql工具.当迁移错误不说,如此大量的数据的,有了这样简陋的工具是不太可靠. 意外的发现工具通常使用数据库视图Navicat Premium中有数据迁移工具,意外的好用.这个工具本身支持mysql,oracle.sqlLite,PostgreSql数据库,因此而也提供了在不同数据库之间迁移数据的功能. 迁移之前,先确保你建立了这两个数据库的connection.选择Tools/DataTr

Sqoop_具体总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 眼下没有直接的命令将HBase中的数据导出到MySQL.但能够先将HBase中的数据导出到HDFS中.再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 以下仅仅给出将Oracle中的数据导入HBase,其它情况下的命令行选项与MySQL的操作相似

Oracle、MySql、SQLServer数据分页查询

看过此博文后Oracle.MySql.SQLServer 数据分页查询,在根据公司的RegionRes表格做出了 SQLserver的分页查询语句: SELECT DISTINCT TOP 500 rr.ID AS id ,rr.strName AS name ,rr.nType AS res_type ,rr.nRegID AS region_id ,rr.strChanName AS channel_name ,rr.nChanNum AS channel ,rr.nSortID AS so

详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 目前没有直接的命令将HBase中的数据导出到MySQL,但可以先将HBase中的数据导出到HDFS中,再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 下面只给出将Oracle中的数据导入HBase,其他情况下的命令行选项与MySQL的操作相似 O