我的存储过程包含以下行,
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)
我的存储过程现在运行正常。
有人可以帮我这个吗?
答案 0 :(得分:0)
在我看来喜欢从tblbatchrun中选择lastrundate,其中jobid = 1没有行。
在第一个场景中,你在变量中得到一个NULL结果,这个结果无法比较(它也会出现问题),而在你的第二个版本中,SP没有从subselect中获得任何结果因此,不进行比较,也不会引发错误。
答案 1 :(得分:0)
您从此声明中获得了什么价值:
从tblBatchRun中选择LastRunDate,其中JobId = 1