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
D'où viennent les caractères alphabétiques? D'où viennent les caractères numériques? –