0

STAFF テーブルの WORK_ADDRESS_ID と HOME_ADDRESS_ID に 2 つの制約を追加する必要があります ADDRESS テーブルの ADDRESS_ID を参照していますが、TABLE 操作が次の理由で成功しなかったようです: ORA-02298: 検証できません (LIP12YJ.STAFF_CON) - 親キーが見つかりませんそうです?

4

1 に答える 1

0

このエラーは、テーブルにないSTAFFを参照するデータがテーブルにあることを示しています。残念ながら、問題が列のデータにあるのか列のデータにあるのかは、制約の名前からは明らかではありません。しかし、両方をチェックするのは簡単ですADDRESS_IDADDRESSWORK_ADDRESS_IDHOME_ADDRESS_ID

SELECT *
  FROM staff s
 WHERE NOT EXISTS( SELECT 1 
                      FROM address a
                     WHERE a.address_id = s.work_address_id )

テーブルに存在しないSTAFFを持つテーブル内のすべての行が表示されます。同様に、WORK_ADDRESS_IDADDRESS

SELECT *
  FROM staff s
 WHERE NOT EXISTS( SELECT 1 
                      FROM address a
                     WHERE a.address_id = s.home_address_id )

テーブルに存在しないSTAFFを持つテーブル内のすべての行が表示されます。HOME_ADDRESS_IDADDRESS

于 2013-04-29T16:11:26.950 に答える