0

我在 SQL Server 中有一个表

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

我希望我的 registerNumber 类型为 batch+branch+id
例如学生 id:1、batch:17、branch:BIT 中的一行,那么 registerNumber 应该是 17BIT1

我试图通过在创建表中使用默认值来做到这一点,但它不允许我引用同一个表的列

编辑

谢谢你给我的答案
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
4

1 回答 1

0

只需使用计算列:

create table student
(
    id int,
    batch varchar(10),
    branch varchar(10),
    registerNumber as batch + branch + id
)
于 2021-03-04T06:23:23.370 回答