我有一个存储过程,其中包括一个从其他表变量更新的表变量。 ISNULL()
在以下代码中不起作用。如果TR.TotalRequestCnt
中存在某些内容,它将返回正确的值,但是如果NULL
表中的该列中没有任何值,则返回TotalRequest
。
UPDATE @OutputTable
SET TotalRequestCount = ISNULL(TR.TotalRequestCnt, 0)
FROM @TotalRequest TR
JOIN @OutputTable OT
ON TR.Document = OT.Document
Document的值是标识INT(5577,5575,5574)。
@TotalRequest
值都是INT:
5577 NULL NULL
5575 NULL NULL
5574 2 1
我也尝试使用COALESCE()
而不是ISNULL()
失败。
我找到了答案。
由于没有值,因此该行根本不执行任何更新,因此ISNULL
永远没有机会触发。