如何在informix数据库中搜索列

时间:2012-07-30 13:13:06

标签: sql informix

我希望能够在Informix数据库中搜索列。在主表中有一个cust_nbr列,然后在未知数量的表中引用。

在Informix中,有没有办法查询数据库并获取所有使用cust_nbr的表?

2 个答案:

答案 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 tablessysreferences获得此类内容。取自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 = ?;