我有个作业定时的调用我的sp
可是我的sp在计算的时候会遇到一些除零错误,单独跑sp是没问题的,只是提示除零错误而已
可是在作业中调用的话,一遇到除零错误,作业就停了,然后尝试重新开始跑,我看作业的日志,SQL严重性是16,SQL消息是8134我不想让作业在遇到除零的时候就停止了,该在哪里设置什么呢,谢谢
可是我的sp在计算的时候会遇到一些除零错误,单独跑sp是没问题的,只是提示除零错误而已
可是在作业中调用的话,一遇到除零错误,作业就停了,然后尝试重新开始跑,我看作业的日志,SQL严重性是16,SQL消息是8134我不想让作业在遇到除零的时候就停止了,该在哪里设置什么呢,谢谢
sql server 2000可以在企业管理器中设定。
......
@command = 'set ansi_warnings off
SET ARITHABORT off 'EXEC StockPlatform..sp_main_compute_basic',
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔 是这样么?
别的那一堆的计算各种指标的存储过程我都是设置的'set ansi_warnings on' 的
像这种类似的设置,比如
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
等,外面调用的存储过程的设置能覆盖内层的设置么?
改成
SELECT @a / NULLIF(@b,0)
能防止出现除零错误。
---查询问题.去空
isnull()......
我看了下,NULLIF如果被除数是0,那么该表达式返回NULL,这样这一步我的计算是不是就得到一个NULL的结果了?
set QUOTED_IDENTIFIER ON
SET ANSI_WARNINGS OFF
上面这个是我sp里面的set设置,可是编译的时候报错
"异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保查询语义一致。请启用这些选项,然后重新发出查询。"难道ANSI_WARNINGS OFF和前面的两个ON不兼容么?
那不能用
set ansi_warnings off
了??