Копирование данных между схемами Oracle с использованием SQL - PullRequest
8 голосов
/ 15 мая 2009

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

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

Ответы [ 3 ]

19 голосов
/ 15 мая 2009

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

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

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

3 голосов
/ 18 января 2010
usage: COPY FROM [db] TO [db] [opt] [table] { ([cols]) } USING [sel]

  [db]   : database schema string, e.g., grprass/grprass@grprass, pplan/pplan@prassm1
  [opt]  : ONE of the keywords: APPEND, CREATE, INSERT or REPLACE
  [table]: name of the destination table
  [cols] : a comma-separated list of destination column aliases ( optional )
  [sel]  : any valid SQL SELECT statement

SQL> COPY FROM scott/tiger@schema1 TO scott/tiger@schema2 insert mytable using select * from mytable;
1 голос
/ 15 октября 2009

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

...