在SQL中,怎样用一个Alter Table命令修改某列的计算公式?

最初建表时给出了某列的计算公式,表中也输入了若干行数据。现在表中又增加了新的列,计算公式需要修改。怎么办?
如:最初create table t(x1 dec(3,1), x2 dec(3,1), x4 as x1+x2), 输入了若干行数据,后来执行了alter table t add x3 dec(3,1)。现想把x4的计算公式改成x1+x2+x3,用一句Alter table命令实现(不是先删除原有的x4列,再按新的计算公式增加上去),怎么办?

查询了一下 SQL Server 2008 的 语法手册

关于 ALTER TABLE 的参数。

ALTER COLUMN
指定要更改命名列。如果兼容级别等于或低于 65,则不允许使用 ALTER COLUMN。有关详细信息,请参阅sp_dbcmptlevel (Transact-SQL)。
修改后的列不能为下列任何一种列:
数据类型为 timestamp 的列。
表的 ROWGUIDCOL 列。
计算列或用于计算列的列。

文档显示: 修改后的列不能为 计算列或用于计算列的列。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-09
直接用update就可以了
update table set x4=x1+x2+x3
第2个回答  2013-04-09
这样是不能实现的。。。。。。。
相似回答