全局變量@@ERROR
@@ERROR只能判斷當前一條T-SQL語句執行是否有錯,爲了判斷 事務中所有T-SQL語句 是否有錯,我們需要對錯誤 進行累計;
例:SET @errorSum=@errorSum+@@ERROR
BEGIN TRANSACTION
/*--定義變量,用於累計事務執行過程中的錯誤--*/
DECLARE @errorSum INT
SET @errorSum=0 --初始化爲0,即無錯誤
/*--轉賬:張三的賬戶少1000元,李四的賬戶多1000元*/
UPDATE bank SET currentMoney=currentMoney-1000
WHERE customerName='張三'
SET @errorSum=@errorSum+@@error
UPDATE bank SET currentMoney=currentMoney+1000
WHERE customerName='李四'
SET @errorSum=@errorSum+@@error --累計是否有錯誤
If @errorSum>0
Begin
rollback transaction
select ‘失敗’
End
Else
Begin
commit transaction
select ‘成功’
End
歡迎加入.net技術交流羣