2014-12-31 116 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。感谢您的帮助 –