事務(transaction)是併發控制的單位,是使用者定義的乙個操作序列。這些操作要麼都做,要麼都不做,是乙個不可分割的工作單位。通過事務,sql server能將邏輯相關的一組操作繫結在一起,以便伺服器保持資料的完整性
1.建立表
create table tuser
(usercode varchar(50),
username varchar(50),
userduty varchar(50),
usertel varchar(100)
);2.事務回滾方法一:(記錄錯誤條數)
declare @errorsum int
set @errorsum=0
begin transaction
insert into tuser(usercode,username,userduty,usertel)
values('10000','張三','軟體工程師','18469878542')
set @errorsum=@errorsum+@@error
insert into tuser(usercode,username,userduty,usertel)
values('10001','王超群','軟體工程師','13459687965')
set @errorsum=@errorsum+@@error
if @errorsum=0
begin
commit
end
else
begin
rollback
end查詢資料:
select * from tuser
3.事務回滾方法二:(捕獲異常)
begin try
begin transaction
insert into tuser(usercode,username,userduty,usertel)
values('10002','李澤','測試工程師','15248963874')
insert into tuser(usercode,username,userduty,usertel)
values('10003','李志偉','專案工程師','13985478536')
commit transaction
end try
begin catch
rollback
end catch
查詢資料:
select * from tuser
SQL事務回滾
ben begin transaction 開始乙個事務 commit transaction 提交事務 rollback transaction 回滾事務。其中commit transaction 與rollback transaction 都必須有對應的begin transaction 才能正...
事務回滾與手動回滾
一般我們在開發時,在方法或者類上加了 transactional事務註解,然後會用 try catch 將可能會出問題的 塊包起來,在catch裡面處理捕獲的異常,但是,如果在catch裡面沒有把異常丟擲去,此時事務是不會自動回滾的 比如這種情況 這裡既沒有丟擲異常,也沒有手動回滾,在插入流水表之後...
事務回滾反思
自己以後就用這個部落格了,部落格的更改給大家帶來了很多不便,以前的部落格 停用,因為對於專業的人來說應該用專業的東西,用龐大的技術去顯示it技術的魅力,顯示我們是一支龐大的力量。今天技術總結,看到師姐寫得事件回滾,自己就研究去了,看到有個for迴圈自己感覺這是正確格式麼,自己很迷信的相信然後就以這樣...