0
有没有一种方法可以将列默认为其他列的计算? SSMS给我一个错误(SQL Server 2012)列名称不能用于设置列的默认约束的上下文中。如果这是不被允许的,是否有基于表达式/子句执行(或其他)的解释来解释为什么不允许这样做?这是特定于SQL Server,还是适用于其他DBMS?使用列进行默认约束计算 - SQL Server 2012
对于这个问题,让我们假设将计算值存储在表中而不仅仅是计算ad hoc是有意义的。我意识到这是DB设计中的考虑因素。
明显的解决方法是将计算包括在INSERT子句中,但是这会分隔有关列的信息。在我看来,这将是一个更有效的表格相关质量聚集,以保持在桌子上。
〜布鲁斯
谢谢,@凯瑟琳。我执行了这个操作,我看到它是如何工作的,而不是创建一个Default/Binding约束,而是通过就地计算作为declare语句的参数。这并不是我想要的,因为即使我将INSERT的最后SELECT子句用于目标表,表本身仍然没有目标约束本身。 INSERT的其他方法不一定会保持这个约束不变。 感谢您的想法,但。 :) – 2014-09-06 00:47:10