Удаление столбца

Синтаксис команды:

ALTER TABLE <имя таблицы>

DROP COLOMN <имя столбца>

Ранее уже отмечалось, что нельзя удалить столбец, если на него наложено хотя бы одно ограничение за исключением NULL. Кроме этого следует отметить, что нельзя удалить

· Реплицированные столбцы.

· Индексированные столбцы.

· Столбцы, для которых определено правило (rule).

Это связано с тем, что все ограничения целостности, значения по умолчанию, индексы и правила хранятся в виде отдельных объектов базы данных и связываются со столбцом таблицы. Удаление столбцов без предварительного удаления объектов привело бы к появлению в базе данных несвязанных объектов, что способствовало бы ее засорению.

Пример 35

Задача.

Удалить столбец YearBegin

Решение.

alter table Student

drop column YearBegin

Удаление таблицы при наличии на нее ссылок

Таблица удаляется с помощью команды DROP. Одной командой можно удалить сразу несколько таблиц. Однако вы не сможете удалить таблицу, если на нее есть ссылки из других таблиц. То есть вам сначала придется удалить соответствующий внешний ключ в ссылочной таблице и только после этого выполнить команду DROP

Синтаксис команды:

DROP TABLE<имя таблицы>[, <имя таблицы>]

Пример 36

Задача.

Удалить таблицу Subject.

Решение.

На таблицу Subject ссылается как таблица Progress, так и таблица UPlan. В связи с этим удалению таблицы Subject должно предшествовать удаление ограничения ProgressSubjectForeign из таблицы Progress и ограничения Plan SubjectForeign из таблицы UPlan.

ALTER TABLE Progress

DROP CONSTRAINT ProgressSubjectForeign

ALTER TABLE UPlan

DROP CONSTRAINT PlanSubjectForeign

И, наконец,

DROP TABLE Subject


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: