Создание ограничений CHECK
В SQL Server 2012 можно создать в таблице проверочное ограничение, чтобы указать значения данных, допустимые в одном или нескольких столбцах, с помощью среды Среда SQL Server Management Studio или в Transact-SQL.
В этом разделе
Перед началом работы выполните следующие действия.
Безопасность
Создание нового проверочного ограничения с помощью следующих средств:
Среда SQL Server Management Studio
Transact-SQL
Перед началом
Безопасность
Разрешения
Требуется разрешение ALTER на таблицу.
[Top]
Использование среды SQL Server Management Studio
Создание нового проверочного ограничения
В Обозревателе объектов разверните таблицу, в которую необходимо добавить проверочное ограничение, щелкните правой кнопкой пункт Ограничения и выберите команду Создать ограничение.
В диалоговом окне Проверочные ограничения щелкните в поле Выражение и щелкните троеточие (…).
В диалоговом окне Выражение проверочного ограничения введите выражения SQL, соответствующие проверочному ограничению. Например, чтобы ограничить записи в столбце SellEndDate таблицы Product значениями, которые больше или равны дате в столбце SellStartDate или равны NULL, введите следующее:
SellEndDate >= SellStartDate OR SellEndDate IS NULL
Чтобы ограничить записи в столбце zip записями, состоящими из 5 цифр, введите:
zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
Примечание Убедитесь, что все нечисловые ограничения по значению заключены в одиночные кавычки (').
Нажмите кнопку ОК.
В категории Идентификатор можно изменить имя проверочного ограничения, а также добавить для ограничения описание (расширенное свойство).
В категории Конструктор таблиц можно задать время принудительного выполнения проверочного ограничения.
Чтобы:
Выберите «Да» в следующих полях:
Проверить ограничение для данных, которые существовали до создания ограничения
Проверить существующие данные при создании или включении
Принудительно применять ограничение при каждой операции репликации данной таблицы
Принудительное применение для репликации
Принудительно применять это ограничение при каждой вставке или обновлении строки таблицы
Применять при операциях INSERT и UPDATE
Нажмите кнопку Закрыть.
[Top]
Использование Transact-SQL
Создание нового проверочного ограничения
В обозревателе объектов установите соединение с экземпляром компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
ALTER TABLE dbo.DocExc ADD ColumnD int NULL CONSTRAINT CHK_ColumnD_DocExc CHECK (ColumnD > 10 AND ColumnD < 50); GO -- Adding values that will pass the check constraint INSERT INTO dbo.DocExc (ColumnD) VALUES (49); GO -- Adding values that will fail the check constraint INSERT INTO dbo.DocExc (ColumnD) VALUES (55); GO
Дополнительные сведения см. в разделе ALTER TABLE (Transact-SQL).
[Top]