根据其他列格式化代理键

Formatting the surrogate key based on other columns

我在 SQL 服务器中有一个 table

create table student
(
    id int,
    batch varchar(10),
    branch varchar(10),
    registerNumber varchar(30)
)

我希望我的 registerNumber 是 batch+branch+id 类型
例如 student id:1, batch:17, branch:BIT 中的一行然后 registerNumber 应该是 17BIT1

我试图通过在 create table 中使用默认值来做到这一点,但它不允许我引用相同 table

的列

编辑

谢谢你的答案 我去了这个
create table stud101
(
batch int,
branch char(3),
srNum int identity(1,1),
registerNum as Concat(cast(batch as char(2)),branch,cast(format(srNum,'0000') as char(4))
))

insert into stud101 values(17,'BIT')


select * from stud101

只需使用计算列:

create table student
(
    id int,
    batch varchar(10),
    branch varchar(10),
    registerNumber as batch + branch + id
)