Переименовать Oracle Table или View

Каков синтаксис для переименования таблицы или представления в Oracle?

5 ответов

Решение
ALTER TABLE mytable RENAME TO othertable

В Oracle 10g также:

RENAME mytable TO othertable

Для переименования таблицы вы можете использовать:

RENAME mytable TO othertable;

или же

ALTER TABLE mytable RENAME TO othertable;

или, если принадлежит другой схеме:

ALTER TABLE owner.mytable RENAME TO othertable;

Интересно, что ALTER VIEW не поддерживает переименование вида. Вы можете, однако:

RENAME myview TO otherview;

Команда RENAME работает для таблиц, представлений, последовательностей и частных синонимов, только для вашей собственной схемы.

Если представление отсутствует в вашей схеме, вы можете перекомпилировать представление с новым именем и затем удалить старое представление.

(проверено в Oracle 10g)

Чтобы переименовать таблицу в другой схеме, попробуйте:

ALTER TABLE owner.mytable RENAME TO othertable;

Команда переименования (как в "rename mytable to othertable") поддерживает только переименование таблицы в той же схеме.

Можно переименовать индексы таким же образом:

alter index owner.index_name rename to new_name;

Прошлый 10г текущий ответ больше не работает для переименования просмотров. Единственный метод, который все еще работает, это удаление и воссоздание представления. Лучший способ сделать это:

ВЫБЕРИТЕ ТЕКСТ ОТ ALL_VIEWS WHERE owner='some_schema' и VIEW_NAME='some_view';

Добавьте это перед возвращенным SQL

Создать или заменить представление some_schema.new_view_name как...

Отбрось старый взгляд

Отбросить представление some_schema.some_view;

Другие вопросы по тегам