sql >> Databáze >  >> RDS >> Oracle

Oracle -- Importovat data do tabulky s jiným názvem?

Pokud používáte staré nástroje EXP a IMP, nemůžete to udělat. Jedinou možností je import do tabulky se stejným názvem (ačkoli můžete změnit schéma, které tabulku vlastní.

Říkáte však, že jste na 11g. Proč nevyužít utilitu DataPump představenou v 10g, která nahrazuje Import a Export. Protože v 11g tento nástroj nabízí možnost REMAP_TABLE, která dělá přesně to, co chcete.

upravit

Když jsem si přečetl komentáře, které OP přidal k jiné odpovědi, když jsem to psal, nemyslím si, že možnost REMAP_TABLE bude v jejich případě fungovat. Pouze přejmenovává nové objekty. Pokud v cílovém schématu existuje tabulka s původním názvem, import se nezdaří s ORA-39151. Promiň.

upravit

Vzhledem k řešení, které OP nakonec zvolil (vypustit stávající tabulku, nahradit novou tabulkou), existuje řešení s datovou pumpou, která spočívá v použití TABLE_EXISTS_ACTION={TRUNCATE | REPLACE} doložka. Výběrem REPLACE zruší tabulku, zatímco TRUNCATE jen, ehm, to zkrátí. V obou případech se musíme obávat omezení referenční integrity, ale to je také problém zvoleného řešení.

Tento dodatek nezveřejňuji pro OP, ale ve prospěch ostatních hledajících, kteří tuto stránku někdy v budoucnu najdou.



  1. Mysql -- Posledních 30 dní

  2. Jak zachovat připojení k databázi na webovém serveru python

  3. Třída nemá určenou tabulku nebo název tabulky a nedědí z existující třídy mapované na tabulku

  4. Oracle zápis do souboru