如何在informix中查找父级的引用记录
Posted
技术标签:
【中文标题】如何在informix中查找父级的引用记录【英文标题】:How to find referenced records of parent in informix 【发布时间】:2014-09-22 15:25:49 【问题描述】:我想删除我数据库中的人:
从 ID 在 (14) 中的人中删除
但我有这个例外
Key value for constraint (pk_person_id) is still being referenced.
我不知道哪里还有一些属于这个人的记录,因为我有大约 100 个引用表。有没有办法在informix中找到这些记录?
PS:我不能放弃约束
【问题讨论】:
【参考方案1】:你可以试试这个,这将找到外键与人员表的主键匹配的所有其他表,并且该列的值存在于人员表中。
select e.tabname,g1.colname
from systables a,
sysconstraints b,
sysreferences c,
sysconstraints d,
systables e,
sysindexes f,
syscolumns g1
where a.tabname='person' and
a.tabid=b.tabid and b.constrtype='P' and
b.constrid=c.primary and
b.tabid=c.ptabid and
c.constrid=d.constrid and
d.tabid=e.tabid and
e.tabid=f.tabid and
f.idxname=d.idxname and
f.tabid=g1.tabid and abs(f.part1)=g1.colno
;
【讨论】:
以上是关于如何在informix中查找父级的引用记录的主要内容,如果未能解决你的问题,请参考以下文章
在 View Controller Containment 中保留对父级的引用