• ベストアンサー

oracle ora-02298

テーブルが2つあり、 テーブル1 ID1 ID2 ID3 [PRIMARY-KEY制約] ID1 ID2 テーブル2 ID1 ID4 ID2 [PRIMARY-KEY制約] ID1 ID4 のテーブルがあります。 テーブル2にてFOREIGNKEY制約(ID1とID2)を実施すると ora-02298が発生してしまいます。 どのようにすればFOREIGNKEY制約をかけれますか?

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

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

インターネットで検索できる、Oracleのエラーリファレンスは、見られましたか? (”明白”としかかかれていませんが) 2つのテーブルには、すでにレコードがそんざいしますよね。 テーブル2に、ゴミレコードが存在するのでは? つまり、テーブル1には存在しない、ID1,ID2の組み合わせを持つレコードが存在しませんか? NOT IN で、対象となるレコードを検索されては?

drgon_eye
質問者

お礼

助言ありがとうございました。 テーブル2にID2だけが違うレコードがありました。 レコードを修正し、正しくできました。 ありがとうございました。

その他の回答 (1)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

select ID1, ID2 from テーブル2 group by ID1, ID2 having count(*)>1; を投げて、結果が得られたらキー重複

drgon_eye
質問者

お礼

助言ありがとうございました。 重複はありませんでしたが、ID2が間違っておりました。

関連するQ&A