如何更新使用强制转换标识创建的列

时间:2017-11-23 11:04:15

标签: sql sql-server

有没有办法更新使用强制转换

创建的列
CREATE TABLE test 
(
    num INT IDENTITY(1, 1),
    Token AS 'TK_' + CAST(num VARCHAR(10)),
    name VARCHAR(100)
)

INSERT INTO test VALUES ('data')

如果我执行上述查询,我​​的令牌列结果将为" tk_1"。

是否可以手动更新/插入"令牌"列值?

1 个答案:

答案 0 :(得分:1)

计算列是只读的,IDENTITY值无法更新。使用计算列,您可以做的就是使用IDENTITY_INSERT在插入过程中间接控制值,但这样做无法使用IDENTITY

如果要在插入后更新值,请将其设为常规varchar(13)列,并在插入触发器中指定初始值。这将允许您在初始插入后将值更新为其他内容。