私はデータダンプを持っており、それを別の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. SQLエラーの外部キー制約
- 5. SQLの外部キー制約
- 6. Nullable外部キー制約
- 7. 1:1外部キー制約
- 8. 外部キーの制約 - DBはインポートされません。 - Magento
- 9. 外部キーの制約がない「キー」とは何ですか?
- 10. MySQLデータのインポート - 外部キー制約エラーを追加できません。
- 11. は、外部キー制約文の
- 12. 外部キー制約の問題
- 13. EF外部キー制約とリポジトリパターン
- 14. MySQLの外部キー制約の混乱
- 15. SQLite - 外部キーの制約-Is 5
- 16. トランザクションのmysql外部キー更新制約?
- 17. 外部キー制約の問題
- 18. Oracleの制約/外部キー情報
- 19. SQLiteの外部キーの制約
- 20. 複合外部キー制約の作成
- 21. SQL Server 2005 + Entity Designer - 外部キーの制約エラー?
- 22. エラーコード:1215.外部キー制約(外部キー)を追加できません
- 23. C#:制約と外部キーをチェックしないLinqの更新
- 24. テーブルに外部キー制約を追加する際にエラーが発生するのはなぜですか?
- 25. Mysqlエラー:1215外部キー制約を追加できません[外部キーと同じタイプ、innodb]
- 26. PHPでMySQLの外部キーの制約を無視する
- 27. 既存の列に外部キーの制約を追加する
- 28. mysqlに外部キー制約を持つテーブルプライマリキーを変更する
- 29. SQLite3は外部キー制約をサポートしていませんか?
- 30. テーブルに外部キー制約を追加できません
@JustinCaveソリューションを使用したくない場合(何らかの理由で)、user_constraintsテーブルをループして、最初に外部キーが制約されます。データをインポートした後、再度有効にします。しかし、もし私があなたであれば、私はそれをしません... –