Как найти все таблицы в базе данных 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;