2016-02-10 4 views

ответ

2

Вы можете попробовать использовать CHECK constraint так:

CREATE TABLE myTable 
(
    id int NOT NULL, 
    col varchar(10) 
    CONSTRAINT chk_col CHECK (col IN ('cl', 'sl', 'el')) 
) 

или использовать команду ALTER как

alter table mytable 
     add col varchar(10) 
     constraint chk_col check(col IN ('cl', 'sl', 'el')) 
+0

Как добавить ограничения, если таблица уже создана? – gopal

+0

@gopal: - Используйте команду alter table, которую я добавил в своем ответе, –

+0

имеет ошибку "missing expression". – gopal

0

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

По этой причине вы можете захотеть добавить небольшую таблицу поиска вместо:

 
leave description 
cl  Casual Leave 
sl  Sick Leave 
el  Earned Leave 

В существующей таблице вы бы просто поставить ограничение внешнего ключа этой таблицы перекодировки тогда.

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