Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Новое на сайте
Новое

Отложенная проверка ограничений

Отложенная проверка ограниченийВ стандарте SQL:2003 говорится, что ограничения могут проверяться либо немедленно (NOT DEFERRABLE), либо откладываться (DEFERRABLE). Ограничение NOT DEFERRABLE проверяется после каждой инструкции DML, а DEFERRABLE — либо после каждой инструкции INSERT, DELETE и UPDATE, либо в конце транзакции.

Эти средства могут особенно пригодиться при загрузке данных в таблицы без определенного порядка. В данном случае можно загрузить информацию вначале в дочернюю таблицу, а затем в родительскую. Эти ограничения могут понадобиться также в случаях, когда изначально загружаемые данные противоречат ограничениям CHECK, и только затем выполняется их подгонка. Отложенные ограничения реализованы только в одной СУБД “большой тройки” — в Oracle 11g. Синтаксис этого ограничения следующий. Дополнительная в Microsoft SQL Server разрешается использование ограничений отложенной проинформация ссылочной целостности в синтаксисе инструкции alter table, описанной L—в главе 5. Подобно любому другому языку программирования, SQL допускает вставку в программный код комментариев. Строка (или часть строки) в коде SQL интерпретируется как комментарий (который СУБД не компилирует и не выполняет), если она предваряется двумя дефисами (—). Существует и альтернативный способ закомментировать большие фрагменты текста — заключить его вовнутрь оболочки продемонстрировано применение отложенных ограничений.

Это предложение можно использовать только для временных таблиц. В нем определяется, должны ли строки физически удаляться в конце транзакции или они должны сохраняться до завершения сеанса работы. В последнем случае следующие транзакции также смогут воспользоваться данными временной таблицы. Это предложение можно использовать в инструкции Oracle CREATE TABLE и в инструкции DB2 DECLARE TABLE. (Информация о временных таблицах приводилась в предыдущих разделах.)