2009-04-22 7 views
1

je dois ajouter table appelée group avec une colonne appelée codeComment définir une vérification sur SQL Server?

Comment puis-je ajouter une contrainte de vérification à la colonne il ne permettra aux caractères alphabétiques suivants (D, M, O, P ou T), suivie par 2 caractères numériques

+0

D'où viennent les caractères alphabétiques? D'où viennent les caractères numériques? –

Répondre

7

contrainte de vérification simple est tout ce dont vous avez besoin

create table blatest(code char(3)) 

alter table blatest add constraint ck_bla 
check (code like '[DMOPT][0-9][0-9]') 
GO 

Test

insert blatest values('a12') --fails 
insert blatest values('M12') --good 
insert blatest values('D12') --good 
insert blatest values('DA1') --fails 

Si vous en avez besoin pour être sensible à la casse, vous devez créer la contrainte comme celui-ci

alter table blatest add constraint ck_bla 
check (code like '[DMOPT][0-9][0-9]' COLLATE SQL_Latin1_General_CP1_CS_AS) 
GO 

D12 va réussir, mais d12 ne sera pas dans ce cas

Questions connexes