2009-11-23 1 views

ответ

4

Существует довольно большое количество информации в SQL Server документацию по этому вопросу, но два заявления для создания контрольных ограничений, которые вы запрашиваете, следующие:

ALTER TABLE tablename ADD CONSTRAINT constraintName CHECK (colname between 1 and 5); 

ALTER TABLE tablename ADD CONSTRAINT constraintName CHECK (colname in (1,2,4)); 

Условие проверочного ограничения могут включать в себя:

  1. Список постоянных выражений, введенных с в

  2. диапазоне постоянных выражений, введенных с между

  3. Набор условий, введенных с например, которые могут содержать подстановочные знаки

Это al вы должны иметь такие условия, как:

(colname >= 1 AND colname <= 5) 
+0

мы можем использовать регулярное выражение также в контрольном ограничении. –

+0

Насколько я знаю, многие из тех, что я написал aboe, поступают из книг в Интернете (документация SQL Server), и они не упоминают эту возможность. –

+0

thx много. На самом деле я пишу вопрос для своего форума на основе пользовательского «определенного типа данных», которому нужна база данных, которая должна быть предоставлена ​​пользователю для понимания. Этот вопрос мало логичен при работе с памятью + производительность на сервере Sql. Я передам ссылку на это, как только я подготовлю его к публикации. –

1
ALTER TABLE tablename ADD CONSTRAINT constraintName CHECK (colname in (1,2,4)); 
+0

будет проверять только эти значения –

+0

и как насчет проверки между набором значений, т.е. между 1 и 5 –

+1

извините, но ур ответ неполный –

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