0

我正在尝试根据 (3) 表中的主键删除 1 条记录。

这是我正在使用的声明

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

从客户表中删除具有 VISA 的客户的记录。

这是我得到的错误

ORA-02292: 违反完整性约束 (PLATINUMAUTOGROUP.CDRIVERLICENSENUM_FK) - 找到子记录

我猜CDRIVERLICENSENUM是我拥有的第三张表中的外键。我该怎么做?是否可以在 1 个语句中从 3 个表中删除 1 个记录?

这三个表是

customer / customer_creditcard / creditcard
4

1 回答 1

0

在删除主表中的记录之前,您需要先删除外部表中的记录。

但也许您在 CUSTOMER 表中的删除命令可能是错误的,因为如果 EXISTS 命令返回 true,则所有记录将从 CUSTOMER 表中删除。检查这是否是您期望的结果。

于 2018-03-08T01:32:35.963 回答