SQL 事務回滾

2022-08-25 16:30:21 字數 1264 閱讀 7622

事務(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迴圈自己感覺這是正確格式麼,自己很迷信的相信然後就以這樣...