sql >> データベース >  >> RDS >> Oracle

Oracle-別の名前のテーブルにデータをインポートしますか?

    古いEXPおよびIMPユーティリティを使用している場合、これを行うことはできません。唯一のオプションは、同じ名前のテーブルにインポートすることです(ただし、テーブルを所有するスキーマを変更することはできます。

    しかし、あなたはあなたが11gを使用していると言います。インポートとエクスポートの代わりに、10gで導入されたDataPumpユーティリティを使用してみませんか。 11gでは、そのユーティリティがREMAP_TABLEオプションを提供しているため、これはまさにあなたが望むことを実行します。

    編集

    私がこれを書いている間にOPが別の応答に追加したコメントを読んだので、REMAP_TABLEオプションが彼らの場合には機能しないと思います。新しいオブジェクトの名前を変更するだけです。元の名前のテーブルがターゲットスキーマに存在する場合、インポートはORA-39151で失敗します。申し訳ありません。

    ビスを編集

    OPが最終的に選択したソリューション(既存のテーブルを削除し、新しいテーブルに置き換える)を考えると、Data Pumpを使用したソリューションがあります。これは、TABLE_EXISTS_ACTION={TRUNCATE | REPLACE} 句。 REPLACEの選択 テーブルを削除しますが、TRUNCATE 単に、えー、それを切り捨てます。どちらの場合も、参照整合性の制約について心配する必要がありますが、それは選択したソリューションの問題でもあります。

    私はこの補遺をOPのためではなく、将来このページを見つける他の探求者のために投稿します。



    1. sqliteLog 14:行でファイルを開くことができません

    2. pgAdminでユーザーを作成する方法

    3. SQLServerのカーソルタイプ-SQLServerの静的カーソルとは| SQLServerチュートリアル/TSQLチュートリアル

    4. mySQL>>個別のGROUP_CONCATへのHREFリンクの追加