我正在sql表设计器中创建一个新表,我希望列的“默认值或绑定”基于同一个表中另一列的值.所以我希望列A从列B的子字符串中获取它的值.列A是数字数据类型,列B是varchar.现在我有以下内容,但在屏幕截图2中得到消息……这里有什么问题吗?我也有表达CONVERT(数字(2,0),SUBSTRING(col_b,3,2))并给出相同的消息.
截图1:
截图2:
解决方法
我不认为您可以使用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