Sql server 如何在SQL Server中添加和更新列中的值
我有一张这样的桌子:Sql server 如何在SQL Server中添加和更新列中的值,sql-server,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和设置值 根据第C列中的值计算E 我的代码是: ALTER TABLE Letters ADD E UPDATE Letters SET E = 0 WHERE C = 9 但是,当我尝试更新它时,在表中找
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和设置值
根据第C列中的值计算E
我的代码是:
ALTER TABLE Letters
ADD E
UPDATE Letters
SET E = 0
WHERE C = 9
但是,当我尝试更新它时,在表中找不到E。当我这样做时:
select * from Letters
将显示列E,但使用set方法时无法访问E
为什么会这样?我该如何解决这个问题?您需要添加一个GO;他们之间的声明。当您尝试一次运行所有数据时,它会将其视为单个批处理。因此,在提交事务之前不会更新表,在整个脚本完成之前也不会更新表。GO提交更改,然后select将看到这些更改
ALTER TABLE Letters
ADD E INT
GO;
UPDATE Letters
SET E = 0
WHERE C = 9
你需要添加一个GO;他们之间的声明。当您尝试一次运行所有数据时,它会将其视为单个批处理。因此,在提交事务之前不会更新表,在整个脚本完成之前也不会更新表。GO提交更改,然后select将看到这些更改
ALTER TABLE Letters
ADD E INT
GO;
UPDATE Letters
SET E = 0
WHERE C = 9