私はデータダンプを持っており、それを別のDB(Oracle 10g)にインポートしたいと考えています。宛先DBにはすでにテーブル(データなし)といくつかの外部キー制約があります。制約エラーを避けるために、テーブルごとにデータをインポートします。誰か簡単な方法を知っていたら、私に教えてください。 (Oracleのインポート・ツールには表間の関係を自動的に認識する機能はありません)ORACLE 10g:外部キー制約エラーなしでインポートするには?
0
A
答えて
1
スキーマ・レベルのエクスポートがあると仮定すると、ソース・スキーマには同じ外部キー制約があり、すべての外部キー制約は同じスキーマ内の表間で、インポート・ユーティリティーは自動的に外部キー制約を処理する必要があります。そのためには何もする必要はありません(ただし、テーブルを作成して既に存在するエラーが発生するため、インポート時にエラーを無視する必要があります)。
+0
11g XEの質問者に似た状況で、私は 'imp ignore = Y touser = foo'を既存のスキーマに使用しています。 FKの制約。アルファベット順にテーブルを処理しますが、FKを自動的に処理することはありませんか?それが最終的に可能になると思われるが、もしそれらがあらかじめ存在するなら、それは助けにならない。 –
4
あなたはまず、すべての外部キー無効にすることができます。
begin
for cnst in (SELECT constraint_name, table_name FROM user_constraints WHERE constraint_type ='R') loop
execute immediate 'alter table '|| cnst.table_name||' disable constraint ' || cnst.constraint_name ;
end loop;
end;
同じが戻ってそれらを有効にするか、あなたのデータをロードした後(ちょうどenable
の代わりdisable
にalter tableコマンドを変更しかし、これは危険ですデータがあなたの制約を満たしていない場合は、問題が発生します。
関連する問題
- 1. デバッグ外部キー制約エラー
- 2. 外部キー制約がエラー
- 3. エラー外部キー制約
- 4. 外部キー制約エラー4
- 5. 外部キーの制約エラー
- 6. エラー1215外部キー制約
- 7. エラー1215:外部キー制約(InnoDBのに)
- 8. 外部キー制約
- 9. SQLエラーの外部キー制約
- 10. SQLの外部キー制約
- 11. Nullable外部キー制約
- 12. SqlAlchemyの外部キー制約
- 13. フラスコの外部キー制約
- 14. ストアドプロシージャの外部キー制約
- 15. 1:1外部キー制約
- 16. mySQL:データベースをインポートする際の外部キー制約
- 17. 外部キーの制約がない「キー」とは何ですか?
- 18. 外部キーの制約 - DBはインポートされません。 - Magento
- 19. 外部キー制約を外す
- 20. MySQLデータのインポート - 外部キー制約エラーを追加できません。
- 21. Redshift Constraints(主キーと外部キー制約)
- 22. 外部キー制約を追加する
- 23. エラー:エラー#1215:外部キー制約を追加できません
- 24. は、外部キー制約文の
- 25. Laravelは私が既に作成外部キー制約を持つテーブルを持っている外部キー制約
- 26. 春ブーツが外部キー制約に
- 27. 無効に外部キー制約
- 28. Cakephp 3.3で外部キー制約を設定するには?
- 29. MySQL:外部キー制約を追加できません。エラー
- 30. MySQLエラー1215:外部キー制約を追加できません。
@JustinCaveソリューションを使用したくない場合(何らかの理由で)、user_constraintsテーブルをループして、最初に外部キーが制約されます。データをインポートした後、再度有効にします。しかし、もし私があなたであれば、私はそれをしません... –