这篇文章主要介绍“Sql Server中事务的介绍”,在日常操作中,相信很多人在Sql Server中事务的介绍问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Sql Server中事务的介绍”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.什么是事务:事务是一个不可分割的工作逻辑单元,在数据库系统上执行并发操作时事务是做为最小的控制单元来使用的。
他包含的所有数据库操作命令作为一个整体一起向系提交或撤消,这一组数据库操作命令要么都执行,要么都不执行。
事务是一个不可分割的工作逻辑单元
2.事务的分类. 按事务的启动与执行方式,可以将事务分为3类: ①显示事务 :也称之为用户定义或用户指定的事务,即可以显式地定义启动和结束的事务。分布式事务属于显示事务 ②自动提交事务:默认事务管理模式。如果一个语句成功地完成,则提交该语句;如果遇到错误,则回滚该语句。 ③隐性事务:当连接以此模式进行操作时,sql将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只需提交或回滚每个事务。它生成连续的事务链。
3.事务的语句开始事物:BEGIN TRANSACTION(简写tran)提交事物:COMMIT TRANSACTION回滚事务:ROLLBACK TRANSACTION
注:一旦事务提交或回滚,则事务结束
4.事务的4个特性 ①原子性(Atomicity):事务中的所有元素作为一个整体提交或回滚,是不可折分的,事务是一个完整的操作。 ②一致性(Consistemcy):事物完成时,数据必须是一致的,也就是说,和事物开始之前,数据存储中的数据处于一致状态。保证数据的无损。 ③隔离性(Isolation):对数据进行修改的多个事务是彼此隔离的。这表明事务必须是独立的,不应该以任何方式来影响其他事务。 ④持久性(Durability):事务完成之后,它对于系统的影响是永久的,该修改即使出现系统故障也将一直保留,真实的修改了数据库。
5.实例
@@error:全局变量,记录错误号,对错误进行累计复制代码 代码如下: begin tran--开始事务declare @errorsum int--定义变量记录错误的数量 set @errorsum=0--错误数量默认为0update dbo.OfficeRent set CreateTime=GETDATE() where Id=2 --持续Sql语句set @errorsum+=@@ERROR--累计是否有错
update dbo.OfficeRent set Hits+=1 where Id=2 --持续Sql语句set @errorsum+=@@ERROR--累计是否有错
if @errorsum<>0--判断是否出现错误的情况begin
print '有错误,回滚'
rollback tran--出现错误,回滚endelsebegin
print '成功,提交'commit tran--提交事务end
6.以下操作不能用事务
创建数据库 create database修改数据库 alter database删除数据库 drop database恢复数据库 restore database加载数据库 load database备份日志文件 backup log恢复日志文件 restore log更新统计数据 update statitics授权操作 grant复制事务日志 dump tran磁盘初始化 disk init更新使用sp_configure后的系统配置 reconfigure
到此,关于“Sql Server中事务的介绍”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。