如果忽略错误,那@@ERROR 还能返回错误编号吗?
9 个解决方案
#1
declare @err_code int
--执行可能有错误的代码
select a
select @err_code=@@error
if @err_code<>0
begin
print @err_code
end
请注意,@@error只能在出错的下面一行使用。所以要及时赋值,否则会失效。
#2
但您这样处理,在执行到错误的语句 SELECT a 时就已经退出过程了。不会再执行一下语句:select @err_code=@@error
#3
会执行到@@error,具体请看微软联机丛书
http://msdn.microsoft.com/zh-cn/library/ms188790(SQL.90).aspx
http://msdn.microsoft.com/zh-cn/library/ms188790(SQL.90).aspx
#4
谢谢您的热心帮助。 我的是SQL2000 微软联机丛书说的是SQL2005
#5
嗯,不会,帮顶
#6
@@error是SQL2000可用的,就是这篇文章里说的,另外这个里面只是说2005引进了try新写法而已.请认真阅读
#7
不好意思,我在SQL2000测试了。确实不行呀!
#8
您好。谢谢您的热心帮助。刚才是我弄错误了。不好意思。
我在SQL2000试了。是可以的。
但能不能让产生了错误的语句,不自动抛出错误,让我自已的错误处理语句抛出自定的错误信息呢?
#9
raise error
#1
declare @err_code int
--执行可能有错误的代码
select a
select @err_code=@@error
if @err_code<>0
begin
print @err_code
end
请注意,@@error只能在出错的下面一行使用。所以要及时赋值,否则会失效。
#2
但您这样处理,在执行到错误的语句 SELECT a 时就已经退出过程了。不会再执行一下语句:select @err_code=@@error
#3
会执行到@@error,具体请看微软联机丛书
http://msdn.microsoft.com/zh-cn/library/ms188790(SQL.90).aspx
http://msdn.microsoft.com/zh-cn/library/ms188790(SQL.90).aspx
#4
谢谢您的热心帮助。 我的是SQL2000 微软联机丛书说的是SQL2005
#5
嗯,不会,帮顶
#6
@@error是SQL2000可用的,就是这篇文章里说的,另外这个里面只是说2005引进了try新写法而已.请认真阅读
#7
不好意思,我在SQL2000测试了。确实不行呀!
#8
您好。谢谢您的热心帮助。刚才是我弄错误了。不好意思。
我在SQL2000试了。是可以的。
但能不能让产生了错误的语句,不自动抛出错误,让我自已的错误处理语句抛出自定的错误信息呢?
#9
raise error