有没有办法更新使用强制转换
创建的列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"。
是否可以手动更新/插入"令牌"列值?
答案 0 :(得分:1)
计算列是只读的,IDENTITY
值无法更新。使用计算列,您可以做的就是使用IDENTITY_INSERT
在插入过程中间接控制值,但这样做无法使用IDENTITY
。
如果要在插入后更新值,请将其设为常规varchar(13)
列,并在插入触发器中指定初始值。这将允许您在初始插入后将值更新为其他内容。