2015-05-12 3 views
-1

В настоящее время я использую SQL Server 2012, и мне нужна помощь с добавлением SQL Check Constraint в столбец, у меня есть существующая таблица, а в столбце я хочу, чтобы пользователь мог вводить только одна из трех вещей, это будет выглядеть следующим образом: -Использование SQL Check Constraint

ИЭУ

ни ИЭУ

Третья вещь, если они печатают ни в одном из 2-х вариантов выше единственных других вещей, которые они могли бы ввести,

_ _ _ _ _ _ _ _

подчеркивания могут быть либо буквой, либо цифрой, но должны включать косую черту после первых трех символов, поэтому запись должна быть в этом формате.

В идеальном мире это будет сделано на прикладном уровне, но у меня нет возможности редактировать это как отдельную часть лицензионного программного обеспечения.

Единственный способ, которым я могу думать об этом, - это использовать опцию SQL Check Constraint, но я не уверен, как это сделать, чтобы охватить все 3 сценария.

Может кто-нибудь помочь. Благодаря P

+0

Что-то вроде 'CHECK IN ('IEU', 'None IEU') или как '' ' –

ответ

1

Попробуйте это:

ALTER TABLE <YourTable> 
ADD CONSTRAINT CHECK_YOURTABLE_COL 
    CHECK(Col IN('IEU' , 'None IEU') OR Col LIKE '___/____') 

Col является столбец с CHECK ограничения

2

Попробуйте это:

CHECK ((ColumnName = 'IEU') OR (ColumnName = 'None IEU') OR 
(ColumnName LIKE '[a-z0-9][a-z0-9][a-z0-9]/[a-z0-9][a-z0-9][a-z0-9][a-z0-9]')) 
); 

Таким образом, убедитесь, что только буквы или номера могут использоваться. «_» Позволяет использовать любой незарезервированный символ.

Смежные вопросы