如何在SQL Server的列中添加和更新值

时间:2018-11-05 19:05:44

标签: sql-server

我有一个看起来像这样的表:

A    B   C    D
----------------
1    2   3    4
3    4   3    2
2    3   9    8
1    1   5    5
3    4   6    7

A,B,C和D为列。我想添加另一列E并设置值 E根据C列中的值进行计算。

我的代码是:

ALTER TABLE Letters 
ADD E

UPDATE Letters
SET E = 0
WHERE C = 9

但是,当我尝试更新它时,表中找不到E。当我这样做时:

select * from Letters

出现E列,但是使用set方法时我无法访问E。

为什么会这样,我该如何解决?

1 个答案:

答案 0 :(得分:5)

您需要添加一个GO;他们之间的声明。当您尝试一次运行所有程序时,会将其视为单个批处理。因此,在提交事务之前不更新表,直到完成整个脚本后才进行更新。 GO提交更改,然后选择将看到更改。

ALTER TABLE Letters 
ADD E INT

GO;

UPDATE Letters
SET E = 0
WHERE C = 9