我是处于工作中没用过oracle的状态,这不,记录下这个小小的问题。哈哈。
表是公司的平台组定义的。前几天为了测试程序,想删掉一些记录,然后使用delete语句,出现这个东东:oracle ORA-02292: 违反完整约束条件 (TEST.FK_H3K23R74VBBA62WXJB512P0PB) - 已找到子记录出现原因是这个表的某个column被当成了别的表的外键,真的是尴尬,说实话,工作以来,没遇到有公司用外键来维护表关系的。
先使用sql语句查出到底是哪一个表“约束”了"FK_H3K23R74VBBA62WXJB512P0PB",它其实就是另一张表依赖这张表的外键名
SELECT
A .constraint_name,
A .table_name,
b.constraint_name
FROM
user_constraints A,
user_constraints b
WHERE
A .constraint_type = 'R'
AND b.constraint_type = 'P'
AND A .r_constraint_name = b.constraint_name
AND A .constraint_name = UPPER (
'FK_H3K23R74VBBA62WXJB512P0PB'
)
执行结果
然后去找表NOTESERIALNUMBER,果然,用了外键,汗