Переименовать таблицу или представление Oracle
каков синтаксис переименования таблицы или представления в Oracle?
5 ответов
переименовать таблицу, вы можете использовать:
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;
Past 10g текущий ответ больше не работает для переименования представлений. Единственный метод, который все еще работает, - это удаление и воссоздание представления. Лучший способ, который я могу придумать, чтобы сделать это:
выберите текст из всех просмотров, где owner= 'some_schema' и VIEW_NAME= 'some_view';
добавьте это перед возвращенным SQL
создать или заменить представление some_schema.new_view_name как ...
удалить старую вид
Drop view some_schema.some_view;