例如:在關聯式資料庫中,乙個事務可以是一條sql語句,一組sql語句或整個程式
事務是恢復和併發控制的基本單位。
事務應該具有4個屬性:原子性、一致性、隔離性、永續性。這四個屬性通常稱為acid特性。
原子性(atomicity)。乙個事務是乙個不可分割的工作單位,事務中包括的操作要麼都做,要麼都不做。
一致性(consistency)。事務必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。一致性與原子性是密切相關的。
隔離性(isolation)。乙個事務的執行不能被其他事務干擾。即乙個事務內部的操作及使用的資料對併發的其他事務是隔離的,併發執行的各個事務之間不能互相干擾。
永續性(durability)。永續性也稱永久性(permanence),指乙個事務一旦提交,它對資料庫中資料的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任何影響。
下面展示一些內聯**片
。
idname
remain1唐僧
18002沙僧
10003悟空
1500
select * from customers
go
--定義乙個變數,記錄錯誤數
declare @error_nums int
set @error_nums=
0--開始事務
begin transaction tran_change
begin try
update customers set remain=remain-
200where id=
1set @error_nums=@error_nums+@@error
update customers set remain=remain+
200where id=
2set @error_nums=@error_nums+@@error
end try
begin catch
set @error_nums=@error_nums+
1print '錯誤異常:'
+error_number()
+'錯誤訊息'
+error_message()
end catch
if(@error_nums>0)
--表示前面有錯
rollback transaction tran_change --回滾事務
else
commit transaction tran_change
SQLserver中事務的使用
一 有時候我們需要同時執行很多個sql操作,但是這些要執行的sql有一部分執行成功了,比如原本應該向幾個相互關聯的表中插入資料,但是只有其中乙個表的資料插入成功了,這時按照正常的邏輯,只要插入其中乙個表失敗了,那麼就應該撤銷已經成功了插入操作,這樣事務就派上用場了。二 事務的特性 1 原子性 事務是...
SQL Server 事務簡單使用
首先關於事務的幾個操作如下 begin tran 開啟事務 commit tran 提交事務 rollback tran 回滾事務 新建乙個測試表demo,id自增 set xact abort on 設定當執行發生錯誤時,整個事務終止並回滾 begin tran 開啟事務 insert into ...
sqlserver事務的用法
事務 transaction 是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。通過事務,sql server 能將邏輯相關的一組操作繫結在一起,以便伺服器保持資料的完整性。現在通過乙個典型的銀行轉賬的例子來說明一下 首先建立乙個表 create ...