• MSSQL 2008里事务的一个问题


    今天在试MSSQL2008里的事务,发现如果事务中某条语句的表名错误,就无法用@@error或try回滚,具体如下:

    begin tran
     delete from test where id = 5    --正确语句
     dealete from testa where id1 = 4    --表名错误,testa 表不存在
     if @@error > 0
      begin
       rollback
       return
      end
    commit

    这样就不能回滚。


    begin tran
     delete from test where id = 5    --正确语句
     dealete from test where id1 = 4    --字段错误,字段id1不存在
     if @@error > 0
      begin
       rollback
       return
      end
    commit

    这样可以回滚。


    不知道是这是MSSQL2008的一个bug,还是我写的有问题。
  • 相关阅读:
    mysql索引、group by、explain、insert delayed
    mysql学习笔记
    Handler
    文件操作
    RatingBar
    ListView(二)
    文件管理函数的草稿
    SAX解析XML
    phpunit
    Service(一)
  • 原文地址:https://www.cnblogs.com/Sandheart/p/1140551.html
Copyright © 2020-2023  润新知