Поделиться через


Создание ограничений проверки

Область применения: 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

  1. В обозревателе объектов разверните таблицу, в которую необходимо добавить проверочное ограничение, щелкните правой кнопкой мыши пункт Ограничения и выберите команду Создать ограничение.

  2. В диалоговом окне Проверочные ограничения установите курсор в поле Выражение и затем нажмите кнопку с многоточием (…).

  3. В диалоговом окне Выражение проверочного ограничения введите выражения SQL, соответствующие проверочному ограничению. Например, чтобы ограничить записи в SellEndDate столбце Product таблицы значением, превышающим или равным дате в SellStartDate столбце, или значением NULL , введите:

    SellEndDate >= SellStartDate
    

    Чтобы ограничить записи в столбце zip записями, состоящими из 5 цифр, введите следующее:

    zip LIKE '[0-9][0-9][0-9][0-9][0-9]'
    

    Примечание.

    Не забудьте заключить любые нечисловые значения ограничений в одинарные кавычки (').

  4. Нажмите ОК.

  5. В категории Идентификация можно изменить имя проверочного ограничения и добавить описание (расширенное свойство) ограничения.

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

    Действие Выберите Yes следующие параметры
    Проверить ограничение для данных, которые существовали до создания ограничения Проверить существующие данные при создании или включении
    Принудительно применять ограничение при каждой операции репликации данной таблицы Принудительное применение для репликации
    Принудительно применять это ограничение при каждой вставке или обновлении строки таблицы Применять для INSERT и UPDATE
  7. Выберите Закрыть.

Использование Transact-SQL

  1. В обозревателе объектов подключитесь к экземпляру ядра СУБД.

  2. На стандартной панели выберите пункт Создать запрос.

  3. Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить.

    Сначала создайте ограничение.

    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);