10
A
回答
15
计算列不能引用其他计算列。虽然你应该能够重复你想参考的表达方式。 From MSDN:
计算列是从可以使用同一个表中的其他列的表达式计算出来的。该表达式可以是一个非计算的列名称,常量,函数,以及由一个或多个运算符连接的这些的任意组合。表达式不能是子查询。
我还要补充一点,如果这是工作,你会希望,那么将会出现各种新问题,你必须处理。目前,许多列/行的更新以平行和原子方式进行。
因此,在您的计算中使用计算列是没有意义的,因为它不会有确切的值。如果有的话,你会使用一个旧的,未更新的值。
如果你真的想避免重复表达,你可以在触发做到这一点,但我强烈建议您不做到这一点。触发器是没有趣味的,只有在极少数情况下才能被非常精明的人使用。
6
你必须定义它against the base columns in the table。
computed_column_expression是一个定义 计算列的值的 表达式。计算列是 物理存储在表中的虚拟列,不是 ,除非 列标记为PERSISTED。 列是根据使用同一 表中的其他列的表达式 计算出来的。例如,计算列 可以定义:成本AS价格 *数量。表达式可以是一个非计算列名称,常量, 函数,变量和任何 的组合,这些组合由一个 或更多的运算符连接。表达式 不能是子查询或包含别名 数据类型。
虽然你可以重构他们都使用相同的标量UDF(通过在所有同列)为了方便维护和确保逻辑一致性,性能损失将是巨大的,而我只用标量UDF作为最后一招。
相关问题
- 1. 计算基于另一列
- 2. 在计算后基于另一列的mySQL中的计算列
- 3. 基于另一个计算度量的OLAP计算度量
- 4. 可以在另一个计算列中使用计算列吗?
- 5. 基于另一列中的两行计算数据帧列
- 6. 基于一列的Excel时间计算?
- 7. 基于可空列的计算列
- 8. 计算列是指基于价值观另一列
- 9. Spotfire中另一列中基于计算列的基于关闭值的值
- 10. 根据另一列的计算列laravel
- 11. 从另一列计算的列?
- 12. Excel计算基于另一列的值的数量
- 13. 总计基于另一列
- 14. Redshift SQL:基于另一列的行间计算
- 15. 如何计算基于另一列的值数量?
- 16. 基于另一个列表计算嵌套列表中的元素
- 17. 计算依赖于一个列的值
- 18. 基于过滤器的Spotfire计算列
- 19. sql:通过基于计算列的组?
- 20. 基于函数的计算列
- 21. 基于主键的计算列规范
- 22. VBA计算添加列基于一个列回答
- 23. 计算列百分比另一列SQL
- 24. 根据另一列值计算列值
- 25. 计算另一个表中另一列的列值
- 26. 计算时间差和求和基于另一列
- 27. 如何计算行数但基于另一列?
- 28. 基于最后一项(前一行)的SharePoint列表列计算
- 29. 基于计算值的Django计算
- 30. 基于日期的计算计算
_...它会呈现各种新问题......_唯一的问题是阻止循环引用(其中两个计算列互相引用),无论如何都不得不阻止服务器支持它,因为它必须确定计算列的顺序。 – Trisped 2015-01-14 20:48:59