基于关联表中的主键删除 - 错误

时间:2018-03-08 00:58:19

标签: sql oracle sql-delete associative-table

我正在尝试从(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个记录?

这三个表是

customer / customer_creditcard / creditcard

1 个答案:

答案 0 :(得分:0)

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

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