我有一个带有自动编号字段的表格。我有第二个字段,在插入时我希望它为自动编号字段获取生成的数字,并在它前面加上“S”。我怎样才能做到这一点?我可以在默认值规范中加入某种表达式吗?
答案 0 :(得分:2)
使用 (PERSISTED
) 计算列:
ALTER TABLE dbo.YourTable ADD PrefixedAutoNumber AS CONCAT('S',AutoNumber) PERSISTED;
那么您就不需要 INSERT
它,或其他任何东西,它只需将 AutoNumber
列的值以 'S'
为前缀。保留该列意味着您可以将其添加到索引中,如果您打算将该列用于 WHERE
子句或 JOIN
,这将有助于提高性能。
但是,如果它纯粹用于显示/演示目的,并且永远不会在 WHERE
/ON
中使用,那么您不需要保留该列。