日期:2014-05-18 浏览次数:20522 次
begin tran declare @err int set @err=0 update a set a='xx' where b=3 set @err=@err+@@error update a set a='xx1' where b=4 set @err=@err+@@error if @err <> 0 rollback else commit
------解决方案--------------------
--用transaction 和 try catch来控制这些语句,避免出错后还执行之后的操作 正确 --但是并不是select出现错误后面的不执行了。 --:sql的最小执行单元应该是1个批处理。
------解决方案--------------------
------------------1------------------ select * from abc select * from #t1 --------------------- abc 不存在的情况,执行结果如下: [color=#FF0000]消息 208,级别 16,状态 1,第 1 行 对象名 'abc' 无效。[/color] ------------------2------------------ select * from abc go select * from #t1 ----------------执行结果如下: 消息 208,级别 16,状态 1,第 1 行 对象名 'abc' 无效。 [color=#FF0000](5 行受影响)[/color]