對於事務的自我理解

什麼是事務?

事務就是被綁定在一起作爲一個邏輯工作單元的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]

運行後的效果
在這裏插入圖片描述

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