CHECK задают диапазон возможных значений для
столбца или столбцов. В основе ограничений целостности
CHECK лежит использование
логических выражений.
Допускается применение нескольких ограничений
CHECK к одному и тому же
столбцу. В этом случае они будут применимы в той последовательности, в которой
происходило их создание. Возможно применение одного и того же ограничения к разным
столбцам и использование в логических выражениях значений других столбцов.
Проверка значений полей Конечно, имеется любое число ограничений, которые можно устанавливать для
данных вводимых в ваши таблицы, чтобы видеть, например, находятся ли данные в
соответствующем диапазоне или правильном формате, о чем SQL естественно не
может знать заранее. По этой причине, SQL обеспечивает вас ограничением
CHECK ,
которое позволяет вам установить условие которому должно удовлетворять значение
вводимое в таблицу, прежде чем оно будет принято.
Ограничение
CHECK состоит из ключевого слова
CHECK сопровождаемого
предложением предиката, который использует указанное поле. Любая попытка
модифицировать или вставить значение поля которое могло бы сделать этот предикат
неверным - будет отклонена.
Давайте рассмотрим таблицу
Продавцы . Столбец комиссионных выражается
десятичным числом и поэтому может быть умножен непосредственно на сумму
приобретений в результате чего будет получена сумма комиссионных(в долларах)
продавца с установленым справа значком доллара( $ ) . Кто-то может использовать
понятие процента, однако ведь, можно об этом и не знать. Если человек введет по
ошибке 14 вместо .14 чтобы указать в процентах свои комиссионные, это будет
расценено как 14.0 , что является законным десятичным значением, и будет нормально
воспринято системой. Чтобы предотвратить эту ошибку, мы можем наложить
ограничение столбца -