Как найти все таблицы в базе данных Teradata с конкретными именами столбцов в них?

У меня есть 2-3 разных имени столбца, которые я хочу просмотреть во всей БД и перечислить все таблицы, в которых есть эти столбцы. Любой простой запрос?

Я видел решение для MySQL, которое здесь не работает, потому что, насколько я знаю, у TD нет схем, но вместо этого я нашел это.

И попробовал этот код:

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

Но, конечно, подзапрос должен использоваться для получения TableName, потому что DBC.COLUMNS не имеет этого поля. Есть еще идеи?

1 ответ

Решение

Вы ищете это:

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

Этот запрос работает со мной:

SELECT  DatabaseName,
        TableName,
        CreateTimeStamp,
        LastAlterTimeStamp
FROM    DBC.TablesV
WHERE   TableKind = 'T'
and     DatabaseName = 'YOUR_SCHEMA'
ORDER BY    TableName;
Другие вопросы по тегам