关系数据库事务模型有哪些?

关系数据库事务模型有哪些?,第1张

关系数据库事务有三种模型,分别是显式事务、隐式事务和自动事务。

1.显式事务显式事务又称拥护自定义事务,是指用显式的方式定义其开始和结束的事务,当使用starttransaction和commit语句时则表示发生显式事务。

2.隐式事务隐式事务是指每一条数据 *** 作语句都自动地成为一个事务,事务的开始是隐式的,事务的结束有明确的标记。即当用户进行数据 *** 作时,系统自动开启一个事务,事务的结束则需手动调用commit或rollback语句来结束当前事务,在当前事务结束后又自动开启一个新事务。

3.自动事务自动事务是指能够自动开启事务并且能够自动结束事务。在事务执行过程中,如果没有出现异常,事务则自动提交;当执行过程产生错误时,则事务自动回滚。

隐式事务又称自动提交事务,就这么点区别,说多点就是下面这一大段

事务是SQL Server防止你的数据出现不一致状态的基础结构.我们已经学习过事务是如

何工作的.在这一节中,我们将学习在SQL Server开发环境下如何让事务为你工作.S Q L

S e r v e r中事务有两种,它们是隐式事务和显式事物.

21.3.1 隐式事务

隐式事务是SQL Server为你而做的事务.隐式事务又称自动提交事务.如果运行一条

I N S E RT语句,SQL Server将把它包装到事务中,如果此I N S E RT语句失败,SQL Server将回滚

或取消这个事务.每条S Q L语句均被视为一个自身的事务.例如在程序清单2 1 - 2中,有四条

I N S E RT语句.第一,二,四条是有效的,第三条语句是无效的.因为它违反了该表中有关作

者标识必须唯一的约束.当程序运行时,第一,二,四条语句执行成功并插入表中.第三条

第2 1学时SQL Serv e r编程2 0 5

下载

语句失败并回滚.

程序清单21-2 隐式事务

在日常 *** 作中,你可能依赖于隐式事务.在第三方应用程序中,这些应用程序的开发人

员则可能使用显式事务.

21.3.2 显式事务

显示事务是一种由你自己指定的事务.这种事务允许你自己决定哪批工作必须成功完成,

否则所有部分都不完成.为了给自己的事务定界,可以使用关键字BEGIN TRANSACTION和

ROLLBACK TRANSACTION或COMMIT TRANSACTION.

BEGIN TRANSACTION—这个关键词用来通知SQL Server一个事务就要开始了.

BEGIN TRANSACTION后面发生的每一条S Q L语句都是同一个事务中的一部分.

ROLLBACK TRANSACTION—这个关键词用来通知SQL Server自BEGIN TRANSACTION

后的所有工作都应取消,对数据库中任何数据的改变都被还原,任何已经创建或删除的对

象被清除或恢复.

COMMIT TRANSACTION—这个关键词用来通知SQL Server自BEGIN TRANSACTION

后的全部工作都要完成并成为数据库的一个永久性部分.在同一个事务中,你不能同时

使用ROLLBACK TRANSACTION和COMMIT TRANSACTION.

你必须意识到,即使你的脚本中有错误,而你又让SQL Server提交事务,该事务也将执

行.如果你打算依赖于现实事务保证数据完整性,必须在脚本中建立错误检查机制.程序清

单2 1 - 3中的代码显示了运用显式事务来回滚对e m p l o y e e s表的改动.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9905844.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存