根据不同数据类型的另一列设置列的默认值

kyl*_*_13 12 sql-server database-design sqldatatypes

我正在SQL表设计器中创建一个新表,我希望列的"默认值或绑定"基于同一个表中另一列的值.所以我希望A列从B列的子字符串中获取它的值.列A是numeric数据类型,B列是varchar.现在我有以下内容,但在屏幕截图2中得到消息......这里有什么问题吗?我也有表达,CONVERT(numeric (2,0), SUBSTRING(col_b,3,2))并给出了同样的信息.

截图1:

在此输入图像描述

截图2:

在此输入图像描述

Raj*_*ore 13

我不认为您可以使用DEFAULT CONSTRAINT基于另一列设置一列的DEFAULT值.

如果您要做的只是替换NULL值,您可能需要考虑计算列.http://msdn.microsoft.com/en-us/library/ms188300.aspx

在极端情况下,您可以在TRIGGER中完全按照自己的意愿行事.阅读INSTEAD OF INSERT触发器.http://technet.microsoft.com/en-us/library/ms175089(v=sql.105).aspx