Создание ограничений проверки
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Можно создать ограничение проверки в таблице, чтобы указать допустимые значения данных в одном или нескольких столбцах SQL Server с помощью SQL Server Management Studio или Transact-SQL. Дополнительные сведения о добавлении ограничений столбцов см. на странице ALTER TABLE column_constraint.
Дополнительные сведения см. в разделе "Уникальные ограничения" и "Проверка ограничений".
Замечания
Чтобы запросить ограничения столбца, используйте представление системного каталога sys.check_constraints.
Разрешения
Требуется ALTER
разрешение на таблицу.
Использование SQL Server Management Studio
В обозревателе объектов разверните таблицу, в которую необходимо добавить проверочное ограничение, щелкните правой кнопкой мыши пункт Ограничения и выберите команду Создать ограничение.
В диалоговом окне Проверочные ограничения установите курсор в поле Выражение и затем нажмите кнопку с многоточием (…).
В диалоговом окне Выражение проверочного ограничения введите выражения SQL, соответствующие проверочному ограничению. Например, чтобы ограничить записи в
SellEndDate
столбцеProduct
таблицы значением, превышающим или равным дате вSellStartDate
столбце, или значениемNULL
, введите:SellEndDate >= SellStartDate
Чтобы ограничить записи в столбце
zip
записями, состоящими из 5 цифр, введите следующее:zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
Примечание.
Не забудьте заключить любые нечисловые значения ограничений в одинарные кавычки (
'
).Нажмите ОК.
В категории Идентификация можно изменить имя проверочного ограничения и добавить описание (расширенное свойство) ограничения.
В категории Конструктор таблиц можно задать время принудительного выполнения проверочного ограничения.
Действие Выберите Yes
следующие параметрыПроверить ограничение для данных, которые существовали до создания ограничения Проверить существующие данные при создании или включении Принудительно применять ограничение при каждой операции репликации данной таблицы Принудительное применение для репликации Принудительно применять это ограничение при каждой вставке или обновлении строки таблицы Применять для INSERT и UPDATE Выберите Закрыть.
Использование Transact-SQL
В обозревателе объектов подключитесь к экземпляру ядра СУБД.
На стандартной панели выберите пункт Создать запрос.
Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.
Сначала создайте ограничение.
ALTER TABLE dbo.DocExc ADD ColumnD INT NULL CONSTRAINT CHK_ColumnD_DocExc CHECK ( ColumnD > 10 AND ColumnD < 50 ); GO
Чтобы проверить ограничение, сначала добавьте значения, которые передают ограничение проверки.
INSERT INTO dbo.DocExc (ColumnD) VALUES (49);
Затем попытайтесь добавить значения, которые завершаются сбоем ограничения проверки.
INSERT INTO dbo.DocExc (ColumnD) VALUES (55);