计算转换字段

Calculated and converted field

我正在尝试在 SQL 中创建一个计算字段,这样当在 table 中创建一条记录时,我会捕获该记录的主键 Id 并将其保存在相同记录但 varchar 类型的新字段中。

但是不知道怎么实现。此外,新字段必须保持持久性。

谢谢,

您似乎需要一个持久化的计算列。 SQL 服务器中的语法如下:

create table mytable (
    id int identity(1, 1) primary key,
    val varchar(5),
    charid as convert(varchar(10), id) persisted
);

charid 是计算列。我使用标识列作为主键,但它不需要 identity 代码也能正常工作。

现在假设您像这样插入一条新记录:

insert into mytable (val) values ('foo');

table的内容是:

id | val | charid
-: | :-- | :-----
 1 | foo | 1     

Demo on DB Fiddle