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


Создание ограничений CHECK

Вы можете создать ограничение проверка в таблице, чтобы указать допустимые значения данных в одном или нескольких столбцах в 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. В категории Конструктор таблиц можно задать время принудительного выполнения проверочного ограничения.

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

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

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

  1. В обозревателе объектовподключитесь к экземпляру компонента Компонент Database Engine.

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