Копирование данных между схемами Oracle с помощью SQL

Я пытаюсь скопировать данные из одной схемы Oracle (CORE_DATA) в другую (MY_DATA) с помощью инструкции SQL INSERT INTO (...).

Как будет выглядеть оператор SQL?


person chabzjo    schedule 15.05.2009    source источник


Ответы (2)


Добавьте префикс к именам таблиц с именами схем, когда вы вошли в систему как пользователь с доступом к обоим:

insert into MY_DATA.table_name select * from CORE_DATA.table_name;

Предполагая, что таблицы определены одинаково в обеих схемах, вышеприведенное скопирует все записи из таблицы с именем table_name в CORE_DATA в таблицу с именем table_name в MY_DATA.

person Sliff    schedule 15.05.2009
comment
Также необходимо убедиться, что у вашего пользователя есть выборные гранты на CORE_DATE.table_name. Я предполагаю, что у вашего пользователя есть соответствующие гранты на MY_DATE.table_name - person Owen; 15.05.2009
comment
вы должны знать, что приведенное выше решение работает, но ограничения не будут скопированы - person ; 27.12.2010
comment
Спасибо. Я просто хотел переместить данные в любом случае. - person chabzjo; 04.01.2011

ваша схема должна иметь разрешение на создание любой таблицы для этого

person Diana    schedule 15.10.2009