如何在 Teradata 数据库中查找所有具有特定列名的表?

Posted

技术标签:

【中文标题】如何在 Teradata 数据库中查找所有具有特定列名的表?【英文标题】:How to find all the tables in database Teradata with specific column names in them? 【发布时间】:2015-04-03 18:48:47 【问题描述】:

我有 2-3 个不同的列名,我想在整个数据库中查找并列出所有包含这些列的表。有什么简单的查询吗?

我见过solution for mysql,在这里不起作用,因为据我所知TD没有方案,但我找到了this。

并尝试了这段代码:

SELECT TableName
FROM DBC.COLUMNS
WHERE DatabaseName = 'DB_NAME' and
ColumnName in ('col1', 'col2')

但肯定必须使用子查询来获取 TableName,因为 DBC.COLUMNS 没有该字段。还有什么想法吗?

【问题讨论】:

DBC.Columns 似乎是你要找的东西:info.teradata.com/htmlPubs/DB_TTU_14_00/index.html#page/… 【参考方案1】:

你正在寻找这个:

SELECT tablename
FROM dbc.columnsV
WHERE ColumnName in ('col1', 'col2')

【讨论】:

我更新了我的问题,我的主管说必须使用子查询 @Rocketq 。 . .当然tablename 在表中。被告知使用子查询会适得其反。 你说得对,它在桌子上,我查了show select* from DBC.Columns 请将视图更改为 dbc.ColumnsV,dbc.Columns 是旧版本,自 TD12 起已弃用。从 TD14.10 开始,如果使用超过 30 个字符的对象名称,它可能会返回错误结果... @dnoeth 。 . .谢谢。【参考方案2】:

这个查询对我有用:

SELECT  DatabaseName,
        TableName,
        CreateTimeStamp,
        LastAlterTimeStamp
FROM    DBC.TablesV
WHERE   TableKind = 'T'
and     DatabaseName = 'YOUR_SCHEMA'
ORDER BY    TableName;

【讨论】:

以上是关于如何在 Teradata 数据库中查找所有具有特定列名的表?的主要内容,如果未能解决你的问题,请参考以下文章

如何查找具有特定数据属性的所有标签?

如何在Python中的目录中查找具有特定文件扩展名的所有文件

如何根据查找具有特定值的实体在我的核心数据之间进行迭代

如何使用硒在网页上查找具有特定文本的所有输入元素

如何在 MySQL 中找到所有具有特定列名的表?

查找具有特定属性的所有类