Переименовать 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;