我正在創建一個存儲過程,我打算每24小時通過一個作業運行。我能夠成功運行過程查詢,但由於某些原因,這些值似乎沒有意義。見下文。存儲過程SELECT UPDATE錯誤的值
這是我的表,它看起來像前程序的運行,使用下面的語句:
SELECT HardwareAssetDailyAccumulatedDepreciationValue,
HardwareAssetAccumulatedDepreciationValue FROM HardwareAsset
我然後運行下面的過程(與基本意圖在複製到DailyDepreciationValue的DepreciationValue值):
BEGIN
SELECT HardwareAssetID, HardwareAssetDailyAccumulatedDepreciationValue,
HardwareAssetAccumulatedDepreciationValue FROM HardwareAsset
WHERE HardwareAssetDailyAccumulatedDepreciationValue IS NOT NULL
UPDATE HardwareAsset SET HardwareAssetAccumulatedDepreciationValue = CASE WHEN
(HardwareAssetAccumulatedDepreciationValue IS NULL) THEN
CONVERT(DECIMAL(7,2),HardwareAssetDailyAccumulatedDepreciationValue) ELSE
CONVERT(DECIMAL(7,2),(HardwareAssetAccumulatedDepreciationValue + HardwareAssetDailyAccumulatedDepreciationValue))
END
END
但是,當我重新運行select語句的結果是小號如下:
這真的犯規任何意義,我在所有的任何想法?
'SET AccTotal = ISNULL(AccTotal,0)+ AccDaily' – Malk
@Malk,我給它一去,同樣的結果。 – TheTechnicalPaladin
列上的數據類型是什麼? – Malk