sql - DB2 查询检索给定模式的所有表名

标签 sql db2 database-schema

我只是在寻找一个简单的查询来选择给定架构的所有表名称。

例如,我们的数据库有超过 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/

相关文章:

mysql - 在 HQL 中对具有多个列的子查询执行内连接?

php - 无法在两个表中存储数据

PHP 发送忘记密码的邮件

sql - DB2 表中列的描述

php - 将多个用户分配给 'task'

java - 有没有JPQL分析器?

mysql - 同步不同 DBMS 中两个数据库的一些表

unix - 将进程的生命周期与启动它的 shell 联系起来

mysql - Visual Studio 2013 上的 SQL 模式比较,有没有办法比较 2 个以上的数据库?

database - 在数据库表中存储样本数组