Ограничения на значения столбцов, ассоциированных с доменом
Предложение CHECK определяет требования к значениям каждого столбца, ассоциированного с доменом. Столбцу не могут быть присвоены значения, не удовлетворяющие ограничениям, наложенным в предложении CHECK. Формат ограничения, накладываемого на значения полей, ассоциированных с доменом:
<огранич_домена> = {
VALUE <оператор> <значение> |
VALUE [NOT] BETWEEN < значение1> AND <значение2> |
VALUE [NOT] LIKE < значение> [ESCAPE <значение>] |
VALUE [NOT] IN < значение1> [, <значение2> ...] |
VALUE IS [NOT] NULL |
VALUE [NOT] CONTAINING <значение> |
VALUE [NOT] STARTING [WITH] <значение> |
NOT (<ограничение домена>) |
(<ограничение домена>) OR (<ограничение домена>) |
(<ограничение домена>) AND (<ограничение домена>)}
– <оператор> = { = | < | > | <= | >= | !< | !> | <> | != };
– ключевое слово VALUE означает все правильные значения, которые могут быть присвоены столбцу, ассоциированному с доменом.
– <оператор> <значение> − значение домена находится с параметром значение во взаимоотношениях, определяемых параметром оператор. Например,
CHECK (VALUE >= 100);
– BETWEEN <значение1> AND <значение2> − значение домена должно находиться в промежутке между значение1 и значение2, включая их.
– LIKE < значение> [ESCAPE <значение>] − значение домена должно «походить» на параметр значение. При этом символ «%» употребляется для указания любого значения любой длины и символ подчеркивания «_» − для указания любого единичного символа. Например, LIKE «%USD» − вводимое значение должно оканчиваться символами «USD» независимо от того, какие символы и сколько расположены перед ними; LIKE «__94» − вводимое значение может содержать 4 символа, из которых первые два − любые и последние два − «94». ESCAPE <значение> используется, если в операторе LIKE служебные символы «%» или «_» должны использоваться в шаблоне подобия. В этом случае выбирается некоторый символ, например, «!», после которого служебные символы теряют свой статус и входят в поисковую строку как обычные символы. Символ «!» указывается после слова ESCAPE. Например, CHECK LIKE «%!%» ESCAPE «!»); Согласно приведенному ограничению значения домена должны заканчиваться символом «%».
– IN <значение1> [, <значение2> ...] − значение домена должно совпадать с одним из приведенных в списке параметров значениеn, например: CHECK (VALUE IN («Муж», «Жен»));
– CONTAINING <значение> − значение домена должно содержать вхождение параметра значение, не важно, в каком месте. Например, в наименовании отдела вхождение «041» может встретиться где угодно «00304107», «Отдел - 041002»:
CHECK (VALUE CONTAINING «041»);
– STARTING [WITH] <значение> − значение домена должно начинаться параметром значение. Например, название отдела должно начинаться с «041»:
CHECK (VALUE STARTING WITH «041»);
Может быть задана комбинация условий, которым должно соответствовать значение домена. В этом случае отдельные условия соединяются операторами AND или OR. Например:
CHECK (VALUE STARTING WITH «041» AND VALUE CONTAINING «-12»)
Для большинства условий можно указать слово NOT, которое изменяет условие с точностью до наоборот: CHECK (VALUE NOT BETWEEN 1 AND 10);
Дата добавления: 2015-02-03; просмотров: 1044;