SQL> DELETE FROM CUSTOMER WHERE CustomerID = 4; DELETE FROM CUSTOMER WHERE CustomerID = 4 * ERROR at line 1: ORA-02292: integrity constraint (SYSTEM.SYS_C008347) violated - child record found 怎么解决
时间: 2024-01-06 15:04:56 浏览: 56
T-SQL:Easy Transact-SQL示例
这个错误提示是因为在 CUSTOMER 表的某个子表中,存在着外键约束,限制了删除主表中的记录。你需要先删除子表中相关的记录,然后再删除主表中的记录。
具体步骤如下:
1. 找出子表的名称和相关列名:
```
SELECT table_name, constraint_name
FROM USER_CONSTRAINTS
WHERE constraint_type = 'R'
AND r_owner = 'SYSTEM'
AND r_constraint_name = 'SYS_C008347';
```
其中,r_constraint_name 为主表的外键约束名称,r_owner 为主表所在的 schema 名称。
2. 根据查询结果找到子表的名称和相关列名,执行删除操作:
```
DELETE FROM 子表名称 WHERE 相关列名 = 主表中要删除的记录的相关值;
```
3. 最后再执行删除主表的操作:
```
DELETE FROM CUSTOMER WHERE CustomerID = 4;
```
这样就可以成功地删除主表中的记录了。
阅读全文