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


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

Можно создать ограничение проверки в таблице, чтобы указать допустимые значения данных в одном или нескольких столбцах SQL Server 2014 с помощью SQL Server Management Studio или Transact-SQL.

В этом разделе

Перед началом работы

Безопасность

Разрешения

Требуется разрешение ALTER для таблицы.

Использование среды SQL Server Management Studio

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

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

  2. В диалоговом окне "Проверка ограничений" щелкните в поле выражения, а затем щелкните многоточие (...).

  3. В диалоговом окне Выражение проверочного ограничения введите выражения 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]'  
    

    Замечание

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

  4. Нажмите кнопку ОК.

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

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

    : Выберите "Да" в следующих полях:
    Проверить ограничение на данные, существовавшие до создания ограничения Проверить имеющиеся данные при создании или активации
    Принудительно применять ограничение при каждой операции репликации данной таблицы Применить обязательно для репликации
    Принудительно применять это ограничение при каждой вставке или обновлении строки таблицы Применять для вставки и обновления
  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  
    -- 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).