我在每週運行的存儲過程中有查詢。結果集每個月有4列。 (即7月:JulInvTotal,JulRPct,JulSPct,JulCPct)所以我的表中有48列,加上CurrentMonth。我只希望存儲過程在一個月內更新4列,當它是那個月的時候。在存儲過程中,如何僅更新表中的某些列,具體取決於它是哪個月
例如,在5月期間,除MayInvTotal,MayRPct,MaySPct,MayCPct之外,查詢結果集中的所有列都將爲零。所以我只想更新表格中的可能列。接下來的一個月,查詢將返回零到六月的列。我會更新六月列,但不是五月列,以便保留表格中上個月的數據。
最終,這個表格將會保存每月月末庫存的每月快照。
有沒有辦法使用case語句更新像我在下面嘗試?
CASE WHEN CurrentMonth=5 THEN
UPDATE MonthlyInventorySnapshot
SET
MayInvTotal = MayInvTotal
, MayRPct = MayRPct
, MaySPct = MaySPct
, MayCPct = MayCPct
CASE WHEN CurrentMonth=6 THEN
UPDATE MonthlyInventorySnapshot
SET
JunInvTotal = JunInvTotal
, JunRPct = JunRPct
, JunSPct = JunSPct
, JunCPct = JunCPct
非常感謝您的時間。如果您需要更多信息,請與我們聯繫。
僅供參考這是一個糟糕的設計......這將使一個很有意義的在一個像'MonthKey,InvTotal,RPct,SPct,Cpct列' – JNK 2014-12-04 18:56:23