≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > SQL Server

SQL Server事务介绍

人气:385 时间:2020-06-02

这篇文章主要为大家详细介绍了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--错误数量默认为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--出现错误,回滚
end
else
begin

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

本文来自:http://www.q1010.com/179/8923-0.html

注:关于SQL Server事务介绍的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:SQL SERVER

您可能感兴趣的文章

  • Windows使用性能监视器监控SqlServer的常见指标示例
  • 调整SQLServer2000运行数据库结构的简单示例
  • 解决SQLServer远程连接失败的问题
  • 数据库触发器DB2和SqlServer区别解析
  • 解决在Azure上部署Sqlserver网络访问不了示例
  • 在sqlserver中如何使用CTE解决复杂查询问题
  • SqlServer应用之sys.dm_os_waiting_tasks 引发的疑问(下)
  • 使用SqlServer CTE递归查询处理树、图和层次结构
  • SqlServer如何通过SQL语句获取处理器(CPU)、内存(Memory)、磁盘(Disk)以及操作系统相关信息
  • SQLServer中merge函数用法分析
上一篇:SQL Server统计每个表行数的简单示例
下一篇:SQL Server字符串函数、时间函数必须会的SQL语句(七)
热门文章
  • SQL Server SQL获取第一条记录的方法
  • SQL Server出现System.OutOfMemoryException异常的解决方法
  • SQL Server的 update from 语句的简单示例
  • SQL Server 数据库备份方法菜鸟教程
  • SQL Server 多表关联时在where语句中慎用trim()方法
  • SQL Server数据类型及长度限制详细说明
  • mybaits非配置原因,导致SqlSession was not registered for synchronization异常解析
  • SQL Server 收缩后对数据库的使用有影响吗?
  • SQL Server 格式导致的Excel导入sql出现异常的解决方法
  • SQL Server 连接服务器出现错误 7391的解决方法
  • 最新文章
    • SQL Server存储过程基本语法的简单示例
    • sql查询时增加自动编号和分页的简单示例
    • sql轻松应付百万数据的高效数据分页存储过程的简单示例
    • sql获取一条数据中所有字段的名称和值的实现方法
    • sql分割函数的简单示例
    • SQL Server异常捕获的简单示例
    • SQL SERVER回滚恢复误操作数据的实现方法
    • SQL Server函数或存储过程中抛出异常的实现方法
    • SQL Server创建数据库的完整代码
    • SQL Server创建数据库的命令用法示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。