Как поменять имя таблицы в оракуле - PullRequest
3 голосов
/ 30 января 2012

У меня есть две таблицы оракула, которые идентичны по определению, но отличаются по определению раздела.Я хочу проверить одну таблицу против другой дизайн таблицы.Есть ли способ поменять имя таблицы?Я не хочу отбрасывать таблицы, потому что они большие, и загрузка данных в них занимает много времени.

Ответы [ 3 ]

8 голосов
/ 30 января 2012

Используйте синоним , который указывает на реальные таблицы.

Например,

CREATE OR REPLACE SYNONYM partition_test FOR partition_table1;

Test partition_table1 , например, select pt.* from partition_test pt;

CREATE OR REPLACE SYNONYM partition_test FOR partition_table2;

Test partition_table2 , например, select pt.* from partition_test pt;

Обратите внимание, что тестовый код каждый раз один и тот же.

Когда вы закончите тестирование, отбросьте синоним.

DROP SYNONYM partition_test;
2 голосов
/ 30 января 2012

Третий метод - использовать представление.Допустим, ваши «настоящие» имена таблиц - TABLE_A и TABLE_B.Создайте представление MY_DATA_VIEW (или что-то еще) и укажите, на какую таблицу вы хотите указать:

CREATE OR REPLACE VIEW TEST_VIEW AS SELECT * FROM TABLE_A;

или

CREATE OR REPLACE VIEW TEST_VIEW AS SELECT * FROM TABLE_B;

Делитесь и наслаждайтесь.

2 голосов
/ 30 января 2012

Просто переименуйте их.Например, если у вас есть TABLE_A, переименуйте его в TABLE_A_TEMP.Затем переименуйте TABLE_B в TABLE_A.Затем переименуйте TABLE_A_TEMP в TABLE_B.

Чтобы переименовать, вам нужно будет выдать

alter table table_name rename to new_table_name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...