对于事务的自我理解

什么是事务?

事务就是被绑定在一起作为一个逻辑工作单元的SQL语句组,如果任何一个语句操作失败那么整个操作就被失败,进而回滚到操作前状态,或者是上个节点。为了确保要么执行,要么不执行,就可以使用事务。要将一组语句作为事务考虑,就需要通过ACID测试,即原子性,一致性,隔离性和持久性。

事务的作用?

.数据库事务: 数据库事务通常指对数据库进行读或写的一个操作序列。 它的存在包含有以下两个目的: 1、为数据库操作提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。
2、当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,以防止彼此的操作互相干扰。

举例说明

首先创建一个表单
在这里插入图片描述
然后表格里面自行添加几行数据
在这里插入图片描述
这个表格里面1,2号原数据是1000与800,后面会有代码详细说明

代码串举例事务的作用


select * from Customers
go

--定义一个变量,记录错误数
declare @error_nums int
set @error_nums=0

--开始事务
begin transaction tran_change
begin try
update Customers set Remain=Remain-200 where id=1
set @error_nums=@error_nums+@@error
update Customers set Remain=Remain+200 where id=2
end try
begin catch
set @error_nums=@error_nums+1
print '错误异常:'+error_number()+'错误消息:'+error_message()
end catch
if(@error_nums>0)--表示前面有错
rollback transaction tran_change --回滚事务
else
commit transaction tran_change --提交事务
   select * from [dbo].[Customers]

运行后的效果
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章