三大常用数据库事务详解之三:事务运行模式

三、事务的运行模式

通常,事务以3种模式运行,他们分别是:

1. 自动提交事务

每一条单独的SQL语句都在其执行完成后进行自动提交事务,即执行 SQL 语句后就会马上自动隐式执行 COMMIT 操作。如果出现错误,则进行事务回滚至之前状态。

SQL SERVER和MY SQL中都默认开启自动提交事务,ORACLE则显式提交事务。这三种产品都提供了各自的方式来开闭自动提交事务模式,具体如下:

1)MYSQL中通过下面语句来开启或关闭当前会话或全局的自动提交事务模式。

set session autocommit=0; -- 0是关闭,1是开启;session是设置当前会话变量,global是设置全局变量

2)SQL SERVER中使用下面语句来关闭或打开自动提交事务模式 。或者通过 Sql Server Managerment Studio,在 Tools -> Options Query Execution -> SQL Server -> ANSI 选项中勾选SET IMPLICIT_TRANSACTIONS设置开启还是关闭自动事务提交模式。

SET IMPLICIT_TRANSACTIONS ON; -- ON是打开隐式事务模式或关闭自动事务模式,OFF 是关闭隐式事务模式或打开自动提交事务模式

3)ORACLE通过如下语句开启或者关闭自动提交事务模式

set autocommit on; -- on是开启自动事务模式,off是关闭自动提交事务模式

2. 显式事务

通过指定事务开始语句来显式开启事务来作为开始,并由以提交命令或者回滚命令来提交或者回滚事务作为结束的一段代码就是一个用户定义的显式事务。SQL SERVER、MYSQL和ORACLE都以不同的方式来开始显式事务,具体如下:

1)SQL SERVER 以BEGIN [ TRAN | TRANSACTION ] 作为开始,以COMMIT [ WORK | TRAN | TRANSACTION ] 或者 ROLLBACK  [ WORK | TRAN | TRANSACTION ] 作为结束。

2)MYSQL 以START TRANSACTION | BEGIN [WORK]作为开始,以COMMIT [ WORK ] 或者 ROLLBACK  [ WORK ] 作为结束。

3)ORACLE事务起始于第一条SQL语句的执行,不需要特别指定事务的开始和结束,一个事务结束就意味着下一事务开始。以COMMIT或不带有SAVEPOINT子句的ROLLBACK命令作为结束。

3. 隐式事务

在隐式事务中,无需使用BEGIN TRANASACTION 来开启事务,每个SQL语句第一次执行就会开启一个事务,直到用COMMIT [TRANSACTION]来提交或者ROLLBACK [TRANSACTION]来回滚结束事务。

1)SQL SERVER中使用下面语句来开启和关闭隐式事务模式。或者通过 Sql Server Managerment Studio,在 Tools -> Options Query Execution -> SQL Server -> ANSI 选项中勾选SET IMPLICIT_TRANSACTIONS设置开启还是关闭隐式事务模式。

SET IMPLICIT_TRANSACTIONS ON --ON是开启,OFF是关闭

2)ORACLE默认就是隐式开启事务,显式提交事务。可以通过下面语句开启自动提交事务,以达到隐式提交事务。

SET autocommit ON; -- on是开启自动事务模式,off是关闭自动提交事务模式

3)MYSQL通过关闭自动提交事务,来达到隐式开启事务,显式提交事务的目的。

SET session autocommit = 0; -- 0是关闭,1是开启;session是设置当前会话变量,global是设置全局变量
(0)

相关推荐

  • MySQL 体系架构简介

    松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程 前面三篇文章我们一起分析了外部环境对 MySQL 性能的影响,不过 ...

  • 三大常用关系型数据库事务详解之二:基本事务命令

    二.事务基本命令介绍 说明:命令中, | (垂直条) 分隔括号或大括号中的语法项. 只能使用其中一项. [ ](方括号)可选语法项. 不要键入方括号. {}(大括号)必选语法项. 不要键入大括号.   ...

  • 三大关系型数据库事务详解之一:基本概念

    一.基本概念 假设用户A要从他的账户里面给B转账1000元,那么就需要两步来实现,首先从A的账号减去1000元,再给B账号加1000元.这两个步骤中,任何一步都不能少或者出错,这两步要么都得到成功操作 ...

  • 常用通信协议——IIC详解(全网最全)

    一.IIC 简介 I2C(Inter-Integrated Circuit) 是内部整合电路的称呼, 是一种串行通讯总线, 使用多主从架构, 由飞利浦公司在1980年为了让主板. 嵌入式系统或手机用以 ...

  • 初一至初三必读:初中语文常用修辞方法详解!

    比喻 1.定义 比喻就是"打比方",即利用不同事物之间的某些相似之处,用一个事物来比方另一个事物.多用一些具体的,浅显的.熟知的事物来说明抽象的.深奥的.生疏的事物. 2.三个要素 ...

  • 初中语文常用修辞方法详解

    比喻 1.定义 比喻就是"打比方",即利用不同事物之间的某些相似之处,用一个事物来比方另一个事物.多用一些具体的,浅显的.熟知的事物来说明抽象的.深奥的.生疏的事物. 2.三个要素 ...

  • 19种常用保护性杀菌剂详解!

    保护性杀菌剂区别于治疗性杀菌剂的关键就是使用时间,它是在病菌侵染作物之前,先在作物表面上施药,防止病菌入侵,起到保护作用.防病特点原理是能在作物表面形成一层透气.透水.透光的致密性保护药膜,这层保护膜 ...

  • 盆景常用松树品种详解(建议收藏)

    ▲徐昊作品<月明松声稀>(黑松,78×57cm) 盆友们,因为最近微信公众号进行了大改版,不再按时间先后顺序推送文章,而是按照阅读频率和互动频率来推送了. 所以为了防止大家迷失,盆友们可以 ...

  • 分享小学语文常用修辞手法详解 例句 练习...

    分享小学语文常用修辞手法详解+例句+练习+答案,全面而详细,请给孩子收藏. 修辞手法是非常重要的语文基础知识,运用修辞方法是为提高表达效果,使语言表达鲜明.生动. 会不会用修辞还直接关系到作文写作的好 ...

  • 三大特点剖析丨详解2020年度国企混改方式

    2020年6月30日,中央深改委审议通过<国企改革三年行动方案>,对未来三年国企改革各项重点任务明确了时间表.路线图. 在这样一个特殊时期,国有企业混合所有制改革有哪些突出热点和亮点? 知 ...