我有一个主键列表,它是从1000开始的数字的自动递增id。
现在我被要求为每个以C20161,C20162,C20163开头的记录制作一个唯一的密钥等等......
所以它实际上是一个自动递增的字母数字键....
我想知道如何在sql中实现相同的功能,我也可以将其更新为现有记录吗?
是'序列'我正在寻找什么或其他什么?
答案 0 :(得分:1)
为此需要COMPUTED COLUMN,
CREATE TABLE TableName(
ID INT IDENTITY(1,1) NOT NULL,
NewColumnName AS 'C' + CAST(ID AS VARCHAR(30)),
.... Other columns list here
)
答案 1 :(得分:0)
我希望这就是你所要求的
首先:我认为你无法编辑主键。
第二:如果要将所有现有数据从int更新为varchar 然后首先需要更改数据库。
之后尝试使用execute
从1001更新为C1001的示例
@key nvarhcar(5)
execute('update table set key = ''C' + @var1 +''' where key = @key')
现在你所需要的只是得到钥匙
用来获取所有密钥。
希望这能帮到你