PostgreSQL 查询SCHEMA_A下以FOO开头基表的通用SQL实现
查询实现方案
你可以直接在原有元数据查询的基础上增加标准筛选条件实现,全程使用ANSI通用SQL语法,无需依赖PostgreSQL专属特性:
- 用
table_schema字段限定查询范围为指定的SCHEMA_Aschema - 用
table_type字段筛选类型为基表的对象,标准枚举值BASE TABLE就对应普通基表,会自动排除视图、外部表等其他表类型 - 用标准
LIKE前缀匹配规则,筛选表名以FOO开头的对象,匹配规则中%是SQL标准通配符,代表任意长度的任意字符
最终可直接执行的SQL语句如下:
SELECT table_name FROM information_schema.tables WHERE table_schema = 'SCHEMA_A' AND table_type = 'BASE TABLE' AND table_name LIKE 'FOO%';
补充说明:如果你的环境中表名大小写规则有特殊配置,需要做大小写不敏感匹配,可以把表名匹配条件改写为
LOWER(table_name) LIKE 'foo%',该写法同样属于通用SQL标准,在所有支持information_schema的主流数据库中都可以正常运行。
内容的提问来源于stack exchange,提问作者Timothy Clotworthy
相关产品推荐
相关产品推荐

