如何查询所有者匹配%BI且含deposit列的数据库表?
解决方案:筛选特定所有者且含指定列的数据库表
要找出所有者匹配%BI模式,且包含名称含deposit字样列的表,直接查询Oracle系统视图ALL_TAB_COLUMNS即可完成,无需分步查询关联。
已验证可行的完整SQL语句如下:
SELECT * FROM ALL_TAB_COLUMNS WHERE OWNER LIKE '%BI' AND DATA_TYPE LIKE '%NUMBER' AND COLUMN_NAME LIKE '%DEPOSIT%';
关键条件说明
ALL_TAB_COLUMNS:存储所有可访问表的列元数据,包含所有者、表名、列名、数据类型等信息OWNER LIKE '%BI':匹配所有者名称以BI结尾的表(若要匹配任意位置包含BI的所有者,该条件保持不变)DATA_TYPE LIKE '%NUMBER':筛选数值类型的列(如果需要字符类型列,可改为DATA_TYPE LIKE '%CHAR%')COLUMN_NAME LIKE '%DEPOSIT%':匹配列名中包含deposit的列(Oracle默认不区分大小写)
如果仅需获取符合条件的表名而非列的详细信息,可通过去重简化结果:
SELECT DISTINCT OWNER, TABLE_NAME FROM ALL_TAB_COLUMNS WHERE OWNER LIKE '%BI' AND COLUMN_NAME LIKE '%DEPOSIT%';
内容的提问来源于stack exchange,提问作者Working dollar
相关产品推荐
相关产品推荐

