有谁知道在不删除 SQL Server 中的列的情况下更改计算列的方法。我想停止将该列用作计算列并开始将数据直接存储在该列中,但想保留当前值。
这甚至可能吗?
有谁知道在不删除 SQL Server 中的列的情况下更改计算列的方法。我想停止将该列用作计算列并开始将数据直接存储在该列中,但想保留当前值。
这甚至可能吗?
不是我知道的,但这是你可以做的事情
向表中添加另一列 使用计算列的值更新该列,然后删除计算列
如果您需要维护列的名称(以免破坏客户端代码),则需要删除该列并添加回具有相同名称的存储列。通过在单个事务中进行更改(按照 SQLMenace 的解决方案),您可以在不停机的情况下做到这一点。这是一些伪代码:
开始交易 删除计算列 X 添加存储的列 X 使用旧公式填充列 提交事务
好的,让我看看我是否明白这一点。您想要获取当前计算的列并将其设置为纯简数据列。通常这会删除列,但您希望将数据保留在列中。
无论您做什么,我都很确定更改列会删除它。这种方式有点复杂,但还不错,它可以保存您的数据。
[编辑:@SqlMenace 的回答要容易得多。:) 诅咒你的威胁!!:)]