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

Вы можете удалить колонки, которые Вам больше не нужны, освободив занимаемое ими пространство. Для этого используется ключевое слово DROP.

определение_удаляемых_столбцов =

{COLUMN имя_колонки | (список_столбцов)} [CASCADE CONSTRAINS]

При удалении колонки удаляются все данные столбца, все индексы, построенные для этого столбца и все ограничения на удаляемый столбец.

SQL> DESC t1

Name Null? Type

----------------------------------------- -------- ---------------

FIRST NOT NULL NUMBER

SECOND NUMBER

SQL> DESC t2

Name Null? Type

----------------------------------------- -------- ---------------

FIRST NUMBER

NAME VARCHAR2(20)

SQL> ALTER TABLE t2 DROP COLUMN name;

Table altered.

Если вы хотите удалить все ограничения внешнего ключа, которые ссылаются на удаляемый столбец или удалить все составные ограничения, включающие удаляемый столбец, укажите ключевое слово CASCADE CONSTRAINTS. В противном случае сервер базы данных вернет ошибку.

SQL> ALTER TABLE t1 DROP (first);

ALTER TABLE t1 DROP (first)

*

ERROR at line 1:

ORA-12992: cannot drop parent key column

SQL> ALTER TABLE t1 DROP (first) CASCADE CONSTRAINTS;

Table altered.

SQL> DESC t1

Name Null? Type

----------------------------------------- -------- ---------------

SECOND NUMBER

SQL> DESC t2

Name Null? Type

----------------------------------------- -------- ---------------

FIRST NUMBER