は私が仕事を経て、24時間ごとに実行する上でつもりストアドプロシージャを、作成しています。私は正常にプロシージャのクエリを実行することができますが、何らかの理由で値が意味を持たないようです。下記参照。ストアドプロシージャのSELECT UPDATE不適切な値
これは私のテーブルとそれが次の文を使用して、前の手順の実行中にのように見えるです:
SELECT HardwareAssetDailyAccumulatedDepreciationValue,
HardwareAssetAccumulatedDepreciationValue FROM HardwareAsset
私は、基本的に意図して、次の手順を(実行します
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文を再実行結果は以下のとおりです。)DepreciationValueにDailyDepreciationValueに値をコピーしますSは次のとおりです。
それは本当にすべての任意のアイデアで、私には何の意味も持たdoesntの?
'SET AccTotal = ISNULL(AccTotalは、0)+ AccDaily' – Malk
@Malk、私はそれを行く、同じ結果が得られました。 – TheTechnicalPaladin
列のデータ型は何ですか? – Malk