萌新求解:sql server 建表用约束设置条件产生问题

create table T
(
tno varchar(4),
tn nvarchar(8) not null,
sex nchar(1) not null check(sex in('男','女')),
age int() constraint age_cons not null
constraint age_check(age between 20 and 70),
prof nvarchar(6) check(prof in('教授','副教授','讲师','助教')),
sal float() constraint sal_Chk check(sal>=800),
comm float() constraint comm_Chk check(comm>=1200),
dno varchar(50) constraint foreign key T_fore references T(tno)
)
在程序里是这个样子的(红色波浪下划线代表了有错误)
但他所有的问题都说的是一样的话:“应为‘(’或select”

后来知道了(问了别人)int和float都是自己就有数据范围的,不需要再跟括号。
然后我把年龄和职业的括号都删了,下划线也都消失了,但还是不明白为什么。。

create table T
(
  tno varchar(4),
  tn nvarchar(8) not null,
  sex nchar(1) not null check(sex in('男','女')),
  age int constraint age_cons not null
            constraint age_check  age between 20 and 70 ,
  prof nvarchar(6) check prof in '教授','副教授','讲师','助教',
  sal float constraint sal_Chk check sal_Chk>=800,
  comm float constraint comm_Chk check comm>=1200,
  dno varchar(50) constraint foreign key T_fore references T(tno)
)

图片说明

求各位大佬批评/:跪谢/:跪谢


https://blog.csdn.net/csdn9_14/article/details/52612466