0

(3)テーブルから主キーに基づいて1レコードを削除しようとしています。

これが私が使用しているステートメントです

DELETE FROM CUSTOMER
WHERE EXISTS
  ( SELECT MERCHANTNAME
    FROM CREDITCARD
    WHERE MERCHANTNAME = 'VISA');

顧客テーブルから VISA を持つ顧客のレコードを削除します。

ここに私が得ているエラーがあります

ORA-02292: 整合性制約(PLATINUMAUTOGROUP.CDRIVERLICENSENUM_FK)に違反しています - 子レコードが見つかりました

CDRIVERLICENSENUMが持っている3番目のテーブルの外部キーだと思います。どうすればいいですか?1つのステートメントで3つのテーブルから1つのレコードを削除できますか?

3つのテーブルは

customer / customer_creditcard / creditcard
4

1 に答える 1

0

主テーブルのレコードを削除する前に、外部テーブルのレコードを削除する必要があります。

ただし、EXISTS コマンドが true を返すと、CUSTOMER テーブルからすべてのレコードが削除されるため、CUSTOMER テーブルの削除コマンドが間違っている可能性があります。これが期待どおりの結果かどうかを確認します。

于 2018-03-08T01:32:35.963 に答える