sql-server-2005 – 基于另一个计算列的计算列?

前端之家收集整理的这篇文章主要介绍了sql-server-2005 – 基于另一个计算列的计算列?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个名为Cost的计算列返回资金.

我想要另一个返回列(Cost * 2),但不允许我.

解决方法

计算列不能引用其他计算列.虽然你应该能够重复你想参考的表达式. From MSDN

A computed column is computed from an expression that can use other columns in the same table. The expression can be a noncomputed column name,constant,function,and any combination of these connected by one or more operators. The expression cannot be a subquery.

我还应该补充一点,如果这是按照你的希望工作的话,会提出你必须处理的各种新问题.目前,许多列/行的更新并行和原子地发生.

因此,在计算中使用计算列是没有意义的,因为它不会完全具有值….如果有的话,你会使用一个旧的,未更新的值.

如果你真的想避免重复表达式,你可以在触发器中执行此操作,但我强烈建议您不要这样做.触发器不是有趣的,只能在极少数情况下才能被非常聪明的人使用.

猜你在找的MsSQL相关文章