使用事務處理多條SQL語句時, error在搗鬼

2021-05-23 02:59:23 字數 389 閱讀 2761

在很多專案中,都會遇到要處理多條sql語句,當這幾條sql語句是有關聯的情況的時候,要麼都執行,要麼就都不執行,這時候大家都知道,應該使用事務。因此,咱們果斷使用事務,但筆者在執行的時候出現乙個很奇怪的現象,總共有三條insert語句,當我第1條和第3條執行成功,第2條執行失敗的時候,他居然不回滾,這個可苦惱了我,怎麼除錯都不成功,這是我的sql語句。

經過跟同事的討論加上在網上查詢資料,終於明白了是@@error在做的鬼,@@error是指每個sql語句執行的時候的錯誤處理,如果有3條語句,那麼這三條語句的@@error分別是不同的,而我在判斷的時候的那個@@error只是代表著第三條sql語句的錯誤,因此稍作修改之後,**如下:

這樣的話,就可以完全的控制著所有的錯誤了,除錯成功,於是乎便記載下來,供以後提醒自己。

ASP中使用事務處理

asp中使用事務處理asp中隊資料庫表的操作 insert update delete 可使用事務處理,並支援多事務處理.在asp的資料庫物件鏈結物件中,提供了一下屬性 begintrans 事務開始 committrans 事務提交 rollbacktrans 事務回滾 on error resu...

ASP中使用事務處理

當一組語句構成乙個事物處理時,如果一條語句沒有成功執行,則所有的語句都不成功.例如,有人在 上購買商品,有關的交易資訊儲存在倆個表中,乙個表用來儲存購買者的信用卡資訊,另乙個表儲存要購買的商品資訊.當擁護購買商品時,他的信用卡號碼已經輸入到第乙個表中.但是,就在這時,伺服器出現了故障,第二個表沒有被...

ASP中使用事務處理

asp中使用事務處理 asp中隊資料庫表的操作 insert update delete 可使用事務處理 並支援多事務處理.在 asp的資料庫物件鏈結物件中 提供了一下屬性 begintrans 事務開始 committrans 事務提交 rollbacktrans 事務回滾 on error re...