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


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

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

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

  • Перед началом работы выполните следующие действия.

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

  • Создание нового проверочного ограничения с помощью следующих средств:

    Среда SQL Server Management Studio

    Transact-SQL

Перед началом

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

Разрешения

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

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование среды 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. Нажмите кнопку Закрыть.

Значок стрелки, используемый со ссылкой «В начало»[Top]

Использование 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).

Значок стрелки, используемый со ссылкой «В начало»[Top]