【发布时间】:2018-03-08 00:58:18
【问题描述】:
我正在尝试根据 (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
【问题讨论】:
-
研究使用
ON DELETE CASCADE。如果这在这里不起作用(因为您的删除方向),那么您必须首先从错误中提到的表中删除。
标签: sql oracle sql-delete associative-table