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

Необязательное предложение CASCADE CONSTRAINTS

Необязательное предложение CASCADE CONSTRAINTSНеобязательное предложение CASCADE CONSTRAINTS позволяет удалить таблицу вместе со всеми ее ограничениями ссылочной целостности. При отсутствии этого предложения и наличии в таблице ограничений ссылочной целостности Oracle сгенерирует ошибку, и таблица удалена не будет.

Ошибка в данном случае была вызвана тем, что на таблицу CUSTOMER ссылаются таблицы ADDRESS, PHONE и ORDER_HEADER (ограничения FK_ADDR_CUST, FK_PHONE_CUST и FK_ORD — HDR_CUSTOMER). Для удаления этой таблицы и перечисленных ограничений следовало бы использовать такую DB2 9.5 В DB2 синтаксис инструкции удаления таблицы следующий. В дополнение ко всем уже упомянутым объектам (индексам, триггерам и ограничениям), вместе с таблицей удаляются и все сводные таблицы, на нее ссылающиеся, а также все соответствующие ограничения ссылочной целостности. Такое непростительное поведение СУБД может стать причиной непреднамеренной потери данных, так что будьте предельно бдительны при удалении таблиц в DB2.

В отличие от Oracle, Microsoft SQL Server не позволяет удалять таблицу, на столбцы которой существуют ссылки внешних ключей, так что в данном случае придется предварительно удалять ограничения ссылочной целостности. В качестве альтернативы можно в одной инструкции DROP удалить и ссылки, и саму таблицу; при этом таблица в инструкции должна быть упомянута первой. Индексы невидимы большинству пользователей базы данных, поэтому обычно потребность в их изменении не возникает. Иногда проще удалить индекс и создать вместо него другой, чем изменить существующий. Для удаления индексов используется инструкция DROP INDEX. Так как эта инструкция вообще не входит в стандарт SQL:2003, каждый из производителей СУБД реализовал ее по-своему. Не будем сильно углубляться в детали инструкции ALTER INDEX; за получением дополнительной информации лучше обратиться к документации Oracle. Сконцентрируем внимание только на нескольких предложениях, которые касаются тематики настоящей книги.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *