日期:2014-05-18 浏览次数:20637 次
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]