2014-12-31 119 views
0

我在測試數據庫中弄亂了一些東西,並遇到了一些我想要做的事情。將來我將不得不用新的日期和預算信息更新一張表中的一些信息。這是我的代碼...插入案例陳述

USE REPORTING 
DECLARE 
@JAN MONEY = 100.00 

INSERT INTO FACTBUDGET (BUDGETAMOUNT) 

SELECT 
CASE WHEN BUDGETDATEID > 20141231 AND BUDGETDATEID < 20150201 AND MISCID = 0 
THEN @JAN 
ELSE 'BUDGET NEEDED' 
END AS BUDGETDATEID 

FROM FACTBUDGET 

當我運行這個變量進入該列,但幾乎所有記錄。我在做這個最簡單的方法嗎?我正在考慮創建一個臨時表,但認爲這將會產生太多的數據。

回答

1

你想做一個update

UPDATE FACTBUDGET 
    SET BUDGETAMOUNT = @JAN 
    WHERE BUDGETDATEID > 20141231 AND BUDGETDATEID < 20150201 AND MISCID = 0 ; 
+0

我認爲這樣會很好,但爲什麼我的方法不能運行? –

+0

@MatthewJakachira。 。 。您將新行插入表中,這與更新現有行完全不同。 –

+0

當我進一步思考並且你這麼簡單地說出來時,這實際上是有道理的。抱歉給你帶來不便。我需要留出更多時間才能真正瞭解sql。感謝您的幫助 –