貼個(gè)sql事務(wù),在sql2000里判斷執(zhí)行是否成功用@@ERROR 判斷
這個(gè)東西多少還是有點(diǎn)問題,sql2005了可以用try。。catch了,不管那塊錯(cuò)都能捕捉,然后在回滾,很方便,貼出來晾晾?
?
BEGIN TRANSACTION;
BEGIN TRY? --try 執(zhí)行sql
? ?
? SELECT 1/0;
END TRY
BEGIN CATCH? --cache抓錯(cuò)
? ? SELECT
? ? ? ? ERROR_NUMBER() AS ErrorNumber,--返回錯(cuò)誤號(hào)
? ? ? ? ERROR_SEVERITY() AS ErrorSeverity,--返回嚴(yán)重性
? ? ? ? ERROR_STATE() as ErrorState, --返回錯(cuò)誤狀態(tài)號(hào)
? ? ? ? ERROR_PROCEDURE() as ErrorProcedure,--返回出現(xiàn)錯(cuò)誤的存儲(chǔ)過程或觸發(fā)器的名稱
? ? ? ? ERROR_LINE() as ErrorLine, --返回導(dǎo)致錯(cuò)誤的例程中的行號(hào)
? ? ? ? ERROR_MESSAGE() as ErrorMessage;--返回錯(cuò)誤消息的完整文本。該文本可包括任何可替換參數(shù)所提供的值,如長度、對(duì)象名或時(shí)間
? ? IF @@TRANCOUNT > 0? --- 返回當(dāng)前連接的活動(dòng)事務(wù)數(shù)。
? ? ? ? ROLLBACK TRANSACTION; --錯(cuò)誤中的事務(wù)要回滾
END CATCH;
IF @@TRANCOUNT > 0? ? ? --- 返回當(dāng)前連接的活動(dòng)事務(wù)數(shù)。
? ? COMMIT TRANSACTION;--正確的sql,提交事務(wù)
GO
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

