除了手动遍历整个数据库中的每个表模式,我如何生成包含包含字符串"email"字段的所有表的列表?在《无处不在》里?
例如,在IBM DB2中,我可以使用这样的查询来实现这一点:
select tabschema,tabname,colname
from syscat.columns
where upper(colname) LIKE UPPER('%email%')
order by tabname
如何在普适13中实现这一点?
您可以查询系统对象,使用:
SELECT f.Xf$Name, g.Xe$Name
FROM X$File f
INNER JOIN X$Field g ON g.Xe$File = f.Xf$Id
WHERE UPPER(g.Xe$Name) LIKE '%EMAIL%';
我仍然接受其他建议,但是我这样做的方式是通过将数据库模式导出到.sql
文本文件,并且我使用正则表达式create table.*email
来搜索该文件并找到包含名称中包含email
列的所有表。
这是有效的,但我期待其他人的建议。