SQL Server事务介绍

2022-11-12 09:37:44
内容摘要
这篇文章主要为大家详细介绍了SQL Server事务介绍,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔记! 1.什么是事务:事务是一个不可分割的工
文章正文

这篇文章主要为大家详细介绍了SQL Server事务介绍,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

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--错误数量默认为0

update 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事务介绍的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!