如何找到列名与模式匹配的所有表或视图。
模式是简单的LIKE %abcd%
模式,而不是正则表达式。
一个或多个查询应返回视图和表格。
答案 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')
;