-PR-
  • すぐに回答を!
  • 質問No.7821804
解決
済み

Oracleのデータをマージする

  • 閲覧数557
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 88% (52/59)

以前、MySQLでのマージ方法について質問した者です。

今度は、Oracleでのマージ方法ですが、
重複行が発生して困っております。

状況としては、スキーマが二つあります。db1とdb2です。

それぞれ、同じ構造のテーブルを持っていて、格納しているデータだけが違います。

db1にdb2をマージしようとしているのですが、上手くいきません。(重複行が発生します)

方法として、以下の2パターンを試行しました。

(1)インポート
   db1をインポートした後に、同じスキーマにdb2からのダンプファイルでインポート  

(2)ダイレクトパスインサート
   insert/*+ APPEND */ into db1.myTable (SELECT * FROM db2,myTable);.

以下は当方の使用環境です。
Windows7 Pro 64Bit
Oracle11g Standard Edition

他に必要な情報があればお聞かせください。


よろしくお願いします。
  • 回答数1
  • 気になる数0

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 68% (258/374)

>(1)インポート
についてですが、
impdpを使うなら、CONTENT=DATA_ONLY DATA_OPTIONS=SKIP_CONSTRAINT_ERRORS
impなら、IGNORE=Y
のパラメータを設定することで、うまくいくのではないでしょうか。
お礼コメント
freeradical

お礼率 88% (52/59)

ご回答ありがとうございます。

impのIGNORE=Yは、テーブル単位の重複、つまりcreate tableしようとしたら、既にテーブルがあった場合のエラーを無視する、ということのようです。

impdpは、そういう機能をはじめて知ったので、今試行しています。結果は週明けにご報告いたします。
投稿日時 - 2012-11-30 18:01:59
  • ありがとう数0
-PR-
-PR-
  • 回答数1
  • 気になる数0
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ