--生成数据时判断下 if left(@data,2)='00' and ... and ... begin ... end else begin ... end
alter table tb add constraint ck_sex check (len(col)=8 and left(col,2)='00' and substring(col,3,2) like [0-9] and substring(col,5,1)='_' and substring(col,6,3) like [A-Z] )
declare @c varchar(8) set @c='0078_ADB'left(@c,2)='00' and isnumeric(substring(@c,3,2)) and substring(@c,5,1)='_' and substring(@c,6,1) between 'A' and 'Z' and substring(@c,7,1) between 'A' and 'Z' and substring(@c,8,1) between 'A' and 'Z'
--生成数据时判断下
if left(@data,2)='00' and ... and ...
begin
...
end
else
begin
...
end
tb
add
constraint ck_sex
check
(len(col)=8
and
left(col,2)='00'
and
substring(col,3,2) like [0-9]
and
substring(col,5,1)='_'
and
substring(col,6,3) like [A-Z] )
set @c='0078_ADB'left(@c,2)='00' and isnumeric(substring(@c,3,2)) and substring(@c,5,1)='_' and substring(@c,6,1) between 'A' and 'Z' and substring(@c,7,1) between 'A' and 'Z' and substring(@c,8,1) between 'A' and 'Z'
没这个权限就在check约束里判断(7楼)