Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle - Импортиране на данни в таблица с различно име?

Ако използвате старите помощни програми EXP и IMP, не можете да направите това. Единствената опция е да импортирате в таблица със същото име (въпреки че можете да промените схемата, която притежава таблицата.

Ти обаче казваш, че си на 11гр. Защо не използвате помощната програма DataPump, въведена в 10g, която замества импортирането и експортирането. Защото в 11g тази помощна програма предлага опцията REMAP_TABLE, която прави точно това, което искате.

редактиране

След като прочетох коментарите, които OP добави към друг отговор, докато пишех това, не мисля, че опцията REMAP_TABLE ще работи в техния случай. Той само преименува нови обекти. Ако таблица с оригиналното име съществува в целевата схема, импортирането е неуспешно с ORA-39151. Съжалявам.

редактиране на

Предвид решението, което OP най-накрая избра (премахване на съществуваща таблица, замяна с нова таблица), има решение с Data Pump, което е да се използва TABLE_EXISTS_ACTION={TRUNCATE | REPLACE} клауза. Избор на REPLACE премахва таблицата, докато TRUNCATE просто го съкращава. И в двата случая трябва да се тревожим за ограниченията на референтната цялост, но това също е проблем с избраното решение.

Публикувам това допълнение не за ОП, а в полза на други търсещи, които открият тази страница след известно време.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Открит е цикъл при изпълнение на рекурсивна заявка

  2. В клъстер на Oracle sysdate винаги ли ще връща последователен отговор?

  3. VB6 приложение oracle 12 64-битова връзка

  4. Получаване на допълнителни редове - След присъединяване към 3-те маси с помощта на Left Join

  5. Странно поведение на команда LENGTH - ORACLE