MSSQL 2008里事务的一个问题
生活随笔
收集整理的這篇文章主要介紹了
MSSQL 2008里事务的一个问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天在試MSSQL2008里的事務(wù),發(fā)現(xiàn)如果事務(wù)中某條語句的表名錯(cuò)誤,就無法用@@error或try回滾,具體如下:
begin tran
?delete from test where id = 5????--正確語句
?dealete from testa where id1 = 4????--表名錯(cuò)誤,testa?表不存在
?if @@error > 0
??begin
???rollback
???return
??end
commit
這樣就不能回滾。
begin tran
?delete from test where id = 5????--正確語句
?dealete from test where id1 = 4????--字段錯(cuò)誤,字段id1不存在
?if @@error > 0
??begin
???rollback
???return
??end
commit
這樣可以回滾。
不知道是這是MSSQL2008的一個(gè)bug,還是我寫的有問題。
begin tran
?delete from test where id = 5????--正確語句
?dealete from testa where id1 = 4????--表名錯(cuò)誤,testa?表不存在
?if @@error > 0
??begin
???rollback
???return
??end
commit
這樣就不能回滾。
begin tran
?delete from test where id = 5????--正確語句
?dealete from test where id1 = 4????--字段錯(cuò)誤,字段id1不存在
?if @@error > 0
??begin
???rollback
???return
??end
commit
這樣可以回滾。
不知道是這是MSSQL2008的一個(gè)bug,還是我寫的有問題。
轉(zhuǎn)載于:https://www.cnblogs.com/Sandheart/archive/2008/04/07/1140551.html
總結(jié)
以上是生活随笔為你收集整理的MSSQL 2008里事务的一个问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: “水绕芦花月满船”上一句是什么
- 下一篇: c#中分割字符串的几种方法