sql Server 2005中有可能创建一个既被持久化又被定义为NOT NULL(不能包含空值)的计算列.当使用像
Linq2sql这样的库时,第二个属性是非常重要的,如果我们想避免大量的手动工作,以确保我们的代码列“始终”有一个值.
使用直sql,这很简单:
ALTER TABLE销售ADD总计AS(价格税)PERSISTED NOT NULL
当在sql Server Management studio的设计窗口中查看时,此列将被正确显示为计算列,而“allow nulls”没有复选标记.但是,在设计器中创建新列以匹配此模式时遇到问题:公式在“计算列规范”中输入 – > (公式)属性,并且持久属性通过将Is Persisted设置为Yes来指定,但尝试取消选中新计算列上的“允许空值”会导致一个对话框,说明“属性无法修改”.
我需要覆盖广泛的技能水平,为此我需要提供添加列的步骤,即使是新手也可以遵循(这意味着Management Studio设计器窗口).在sql Server Management Studio中有一些秘密,用于在设计器中创建一个新的计算列为NOT NULL,类似于如何使用CTRL 0将空值插入到单元格中?
解决方法
您可以使用ISNULL(Price Taxes,0)作为欺骗,它使用默认值0作为NULL计算.