4

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

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

4

2 回答 2

7
SELECT tabname, colno, colname  
FROM systables a, syscolumns b 
WHERE a.tabid = b.tabid 
and colname = "cust_nbr"
ORDER BY colno; 

我在同一个地方找到了这段代码,并用 colname = cust_nbr 添加了额外的限制。

这似乎对我有用。我会验证它,但所有迹象看起来都有效。

我发现在另一篇文章中提到的使用 Informix 目录中

于 2012-07-30T16:18:51.663 回答
0

特别是,您应该能够从系统目录表中获得这种类型的东西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 = ?; 
于 2012-07-30T13:18:43.017 回答