Ограничение CHECK
Ограничение CHECK
Одним из наиболее полезных ограничений в базе данных является ограничение проверки. Идея его очень проста - проверять вставляемое в таблицу значение на какое-либо условие и, в зависимости от выполнения условия, вставлять или не вставлять данные.
Синтаксис его достаточно прост:
<tconstraint> = [CONSTRAINT constraint] CHECK (
<search_condition>)}
Здесь constraint - имя ограничения; <search_condition> - условие поиска, в котором в качестве параметра может участвовать вставляемое/изменяемое значение. Если условие поиска выполняется, то вставка/изменение этого значения разрешаются, если нет - возникает ошибка.
Самый простой пример проверки:
create table checktst(
ID integer CHECK(ID>0));
Эта проверка устанавливает, больше ли нуля вставляемое/изменяемое значение поля ID, и в зависимости от результата позволяет вставить/изменить новое значение или возбудить исключение (см. главу "Расширенные возможности языка хранимых процедур InterBase" (ч. 1)).
Возможны и более сложные варианты проверок. Полный синтаксис условия поиска <search_condition> следующий:
<search_condition> = {<val> <operator>
{ <val> | (<select_one>)}
|<val> [NOT] BETWEEN <val> AND <val>
| <val> [NOT] LIKE <val> [ESCAPE <val>]
| <val> [NOT] IN ( <val> [ , <val> ...] | <select_list>)
| <val> IS [NOT] NULL
| <val> {[NOT] {= | < | >} | >= | <=}
{ALL | SOME | ANY} (<select_list>)
|EXISTS ( <select_expr>)
| SINGULAR ( <select_expr>)
| <val> [NOT] CONTAINING <val>
|<val> [NOT] STARTING [WITH] <val>
| (<search_condition>)
| NOT <search_condition>
| <search_condition> OR <search_condition>
| <search_condition> AND <search_condition>}
Таким образом, CHECK предоставляет большой набор опций для проверки вставляемых/изменяемых значений. Необходимо помнить о следующих ограничениях в использовании СНЕК:
* Данные в CHECK берутся только из текущей записи. Не следует брать данные для выражения в CHECK из других записей этой же таблицы - они могут быть изменены другими пользователями.
* Поле может иметь только одно ограничение CHECK.
* Если для описания поля использовался домен, который имеет доменное ограничение CHECK, то его нельзя переопределить на уровне конкретного поля в таблице.
Надо сказать, что CHECK реализованы при помощи системных триггеров, поэтому следует быть осторожным в использовании очень больших условий, которые могут сильно замедлить процессы вставки и обновления записей.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
3.2. Кэширование в IE: pre-check, post-check
3.2. Кэширование в IE: pre-check, post-check При разработке веб-сайта частота изменения страниц сильно колеблется. Некоторые страницы будут меняться ежедневно, некоторые останутся одними и теми же с самого момента своего создания. Для того чтобы позволить сайту регулировать частоту,
4.11.5. Ограничение сети
4.11.5. Ограничение сети В крупных сетях описывать каждый компьютер очень сложно. Для облегчения этой задачи можно использовать групповые записи. Например, вам надо разрешить выход в Интернет только для сети 192.168.1.x (с маской 255.255.255.0). Это значит, что первые 24 бита (первые три
Программа Check & Get
Программа Check & Get Это отечественный продукт. Преимущество такой программы заключается не только в корректной поддержке русского языка, но и в возможности ее приобретения за российские рубли (что выступает решающим аргументом для крупных предприятий, в особенности –
Ограничение
Ограничение Второй элемент формулы ОДП – дедлайн (от англ. deadline), или ограничение. Это может быть ограничение по времени (например, скидка 50 % только два дня) или по количеству (например, ценный подарок для первых 50 покупателей). Причем короткие по времени дедлайны работают
Check&Get
Check&Get Производитель: ActiveURLs (http://activeurls.com/ru/).Статус: коммерческая.Страница для скачивания: http://activeurls.com/ru/download.php.Размер дистрибутива: 6,6 Мбайт.Утилита Check&Get – простой и в то же время мощный менеджер закладок, функциональная мощь которого не ограничивается только
Окно "HTML Spell Check"
Окно "HTML Spell Check" Book Designer "HTML Spell Check" может быть использован в двух режимах: проверка всего текста и проверка выбранного фрагмента текста. Если Вы выбрали какой-либо фрагмент текста в главном окне Book Designer, то проверяться будет только этот фрагмент. Если же ничего не было
Ссылочное ограничение
Ссылочное ограничение Ссылочное ограничение реализовано как FOREIGN KEY. Ограничение внешнего ключа существует только в контексте другой таблицы и уникального ключа этой таблицы, заданного явно или неявно в предложении REFERENCES при объявлении ограничения.Таблицы, связанные в
Ограничение NOT NULL
Ограничение NOT NULL Firebird не поддерживает атрибут указания допустимости пустого значения, как это делают некоторые нестандартные СУБД. В соответствии со стандартами все столбцы в Firebird могут содержать пустое значение, если не будет явно указано ограничение NOT NULL.
Ограничение PRIMARY KEY
Ограничение PRIMARY KEY PRIMARY KEY является ограничением целостности на уровне столбца - набор поддерживаемых правил, - которое формально отмечает столбец или группу столбцов как уникальный идентификатор для каждой строки в таблице.Если вы пришли в Firebird из СУБД, которые
Ограничения CHECK
Ограничения CHECK Ограничение CHECK используется для проверки достоверности вводимых значений данных. Оно реализует условия или требования, которым должно удовлетворять значение для успешного добавления или обновления. Оно не может изменять вводимое значение; оно лишь
Окно "HTML Spell Check"
Окно "HTML Spell Check" Book Designer "HTML Spell Check" может быть использован в двух режимах: проверка всего текста и проверка выбранного фрагмента текста. Если Вы выбрали какой-либо фрагмент текста в главном окне Book Designer, то проверяться будет только этот фрагмент. Если же ничего не было
5.1. Ограничение перебора
5.1. Ограничение перебора В процессе достижения цели пролог-система осуществляет автоматический перебор вариантов, делая возврат при неуспехе какого-либо из них. Такой перебор — полезный программный механизм, поскольку он освобождает пользователя от необходимости
Окно "HTML Spell Check"
Окно "HTML Spell Check" Book Designer "HTML Spell Check" может быть использован в двух режимах: проверка всего текста и проверка выбранного фрагмента текста. Если Вы выбрали какой-либо фрагмент текста в главном окне Book Designer, то проверяться будет только этот фрагмент. Если же ничего не было