如何查找具有与特定模式匹配的列名的所有表/视图

时间:2014-09-10 13:04:34

标签: teradata

如何找到列名与模式匹配的所有表或视图。

模式是简单的LIKE %abcd%模式,而不是正则表达式。

一个或多个查询应返回视图和表格。

1 个答案:

答案 0 :(得分:13)

dbc.ColumnsV存储列信息:

SELECT DatabaseName, TableName, ColumnName
FROM dbc.ColumnsV
WHERE ColumnName LIKE '%abcd%'
;

这也可能会返回存储过程或宏,因此您最好加入dbc.TablesV:

SELECT t.DatabaseName, t.TableName, t.TableKind, ColumnName
FROM dbc.TablesV AS t JOIN dbc.ColumnsV AS c
  ON t.DatabaseName = c.DatabaseName
 AND t.TableName = c.TableName 
WHERE ColumnName LIKE '%abcd%'
AND TableKind in ('T','V') 
;