- ベストアンサー
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制約をかけれますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
インターネットで検索できる、Oracleのエラーリファレンスは、見られましたか? (”明白”としかかかれていませんが) 2つのテーブルには、すでにレコードがそんざいしますよね。 テーブル2に、ゴミレコードが存在するのでは? つまり、テーブル1には存在しない、ID1,ID2の組み合わせを持つレコードが存在しませんか? NOT IN で、対象となるレコードを検索されては?
その他の回答 (1)
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.2
select ID1, ID2 from テーブル2 group by ID1, ID2 having count(*)>1; を投げて、結果が得られたらキー重複
質問者
お礼
助言ありがとうございました。 重複はありませんでしたが、ID2が間違っておりました。
お礼
助言ありがとうございました。 テーブル2にID2だけが違うレコードがありました。 レコードを修正し、正しくできました。 ありがとうございました。