Данное ограничение используется для проверки допустимости данных, вводимых в конкретный столбец таблицы, т.е. обеспечивает еще один уровень защиты данных.
Ограничения CHECK задают диапазон возможных значений для столбца или столбцов. В основе CHECK лежит использование логических выражений. Допускается применение нескольких ограничений CHECK к одному и тому же столбцу. В этом случае они будут применимы в той последовательности, в которой происходило их создание. Возможно применение одного и того же ограничения к разным столбцам и использование в логических выражениях значений других столбцов. Проверочные ограничения могут быть реализованы и с помощью правил. Правило представляет собой самостоятельный объект базы данных, который связывается со столбцом таблицы или пользовательским типом данных. Причем одно и то же правило может быть одновременно связано с несколькими столбцами и пользовательскими типами данных, что является неоспоримым преимуществом. Однако существенный недостаток заключается в том, что с каждым столбцом или типом данных может быть связано только одно правило. Разрешается комбинирование ограничений целостности CHECK с правилами. В этом случае выполняется проверка соответствия вводимого значения, как ограничениям целостности, так и правилам.
Пример использования
Задание шаблона для ввода (ограничение на столбец)
Номер CHAR (6) CHECK(Номер LIKE '[A-Z][A-Z][A-Z][1-9][0-9][FM]')
Ограничение на вводимые данные (значение только из списка) (ограничение на столбец)
Город VARCHAR(10) CHECK (Город IN ('Ярославль', 'Москва', 'Иваново'))
Ограничение на группу полей (ограничение на таблицу)
CHECK (Комиссионные <0.5 OR Город = 'Ярославль')