我希望能够在Informix数据库中搜索列。在主表中有一个cust_nbr列,然后在未知数量的表中引用。
在Informix中,有没有办法查询数据库并获取所有使用cust_nbr的表?
答案 0 :(得分:6)
SELECT tabname, colno, colname
FROM systables a, syscolumns b
WHERE a.tabid = b.tabid
and colname = "cust_nbr"
ORDER BY colno;
我在同一个地方找到了这个代码,并使用colname = cust_nbr添加了额外的restriant。
这似乎对我有用。我会验证它,但所有迹象看起来都有效。
我发现在其他帖子中提到的Using the Informix Catalogs
答案 1 :(得分:0)
您应该能够从system catalog tables,sysreferences
获得此类内容。取自Using the Informix System Catalog:
SELECT a.tabname, constrname, d.tabname
FROM systables a, sysconstraints b, sysreferences c,
systables d
WHERE b.constrtype = 'R'
AND a.tabid = b.tabid
AND b.constrid = c.constrid
AND c.ptabid = d.tabid
AND a.tabname = ?;