我只是在寻找一个简单的查询来选择给定架构的所有表名称。
例如,我们的数据库有超过 100 个表,我需要找到任何包含子字符串“CUR”的表。一旦我拥有了所有的表,我就可以使用like命令。
最佳答案
--for DB2/z
select * from sysibm.systables
where owner = 'SCHEMA'
and name like '%CUR%'
and type = 'T';
--for DB2/LUW
select * from sysibm.systables
where CREATOR = 'SCHEMA'
and name like '%CUR%'
and type = 'T';
这将为您提供 SCHEMA
架构中包含 CUR
的所有表。
参见here有关 SYSIBM.SYSTABLES
表的更多详细信息。如果您查看左侧的导航 Pane ,您可以获得各种精彩的 DB2 元数据。
请注意,此链接适用于大型机 DB2/z。根据上面的第二个查询,DB2/LUW(Linux/UNIX/Windows)的列略有不同。
如果您没有使用其中任何一个,则应该检查 IBM 文档以了解您的特定变体。
关于sql - DB2 查询检索给定模式的所有表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583963/