除以零错误(存储过程)

时间:2010-11-12 12:18:06

标签: sql

我的存储过程包含以下行,

DECLARE @DateRun as datetime                                                               
Select @DateRun=LastRunDate from tblBatchRun where JobId = 1                               
INSERT INTO tblRawTestScore                                                                
select * from vwOverallTestScores where TimeCompleted > @DateRun

我现在收到如下所示的错误

  

Msg 8134,Level 16,State 1,Procedure   sp_CopyTestScoresRun,第9行除以   遇到零错误。

当我修改上面的存储过程行时,

INSERT INTO tblRawTestScore                                                                
select * from vwOverallTestScores where TimeCompleted > (Select LastRunDate from tblBatchRun where JobId = 1)

我的存储过程现在运行正常。

有人可以帮我这个吗?

2 个答案:

答案 0 :(得分:0)

在我看来喜欢从tblbatchrun中选择lastrundate,其中jobid = 1没有行。

在第一个场景中,你在变量中得到一个NULL结果,这个结果无法比较(它也会出现问题),而在你的第二个版本中,SP没有从subselect中获得任何结果因此,不进行比较,也不会引发错误。

答案 1 :(得分:0)

您从此声明中获得了什么价值:

从tblBatchRun中选择LastRunDate,其中JobId = 1