我有一个看起来像这样的表:
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。
为什么会这样,我该如何解决?
答案 0 :(得分:5)
您需要添加一个GO;他们之间的声明。当您尝试一次运行所有程序时,会将其视为单个批处理。因此,在提交事务之前不更新表,直到完成整个脚本后才进行更新。 GO提交更改,然后选择将看到更改。
ALTER TABLE Letters
ADD E INT
GO;
UPDATE Letters
SET E = 0
WHERE C = 9