【问题标题】:Set the default value of a column based on another column of a different data type根据不同数据类型的另一列设置一列的默认值
【发布时间】:2014-12-19 14:15:59
【问题描述】:

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

屏幕截图 1:

屏幕截图 2:

【问题讨论】:

    标签: sql-server database-design sqldatatypes


    【解决方案1】:

    我认为您不能使用 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

    【讨论】:

      猜你喜欢
      • 2018-09-09
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      • 2016-08-03
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      相关资源
      最近更新 更多