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

Инструкция ALTER TABLE в Oracle

Используя команду Oracle ALTER TABLE, вы можете добавлять, удалять и изменять все аспекты всех элементов таблицы. Например, в схеме синтаксиса показано, что метод добавления или изменения столбца включает и атрибуты столбца, но мы должны ясно сказать, что в эти атрибуты входят все расширения, специфичные для Oracle то есть там, где стандарт ANSI позволяет изменять только такие атрибуты, как DEFAULT и NOT NULL, и ограничения уровня столбца, Oracle разрешает изменять любые имеющиеся специальные характеристики, такие, как LOB, VARRAY, NESTED TABLE, индекс-таблицы, CLUSTER и PARTITION.

Например, в следующем фрагменте кода к таблице Oracle добавляется новый столбец, а также к этой таблице добавляется новое ограничение UNIQUE.

ALTER TABLE titles ADD subtitle VARCHAR2(32) NULL CONSTRAINT unq_subtitle UNIQUE;

Если в таблицу добавляется ограничение — внешний ключ (FOREIGN KEY), СУБД проверяет на соответствие этому ограничению все данные таблицы. Если возникает ошибка, операция ALTER TABLE отменяется.

Любые запросы с инструкцией SELECT возвращают новые столбцы, а далее если это не планировалось. Скомпилированные объекты, такие, как записанные процедуры, могут возвращать любые новые столбцы, если в них используется атрибут %ROWTYPE. В противном случае скомпилированный объект не возвращает новых столбцов.

В Oracle разрешается использовать несколько действий, таких, как ADD и MODIFY, применительно к нескольким столбцам. Действия должны заключаться в скобки. Например, следующая команда добавляет в таблицу несколько столбцов в одной инструкции.

ALTER TABLE titles ADD
(subtitles VARCHAR2(32) NULL,
year_of_copyright INT,
date_of_origin DATE);

Источник