我正在尝试在不同的表和不同的数据库中查找表列。
到目前为止,我确实有一个查询可以执行此操作,但是它并没有告诉我该列和表位于哪个数据库中。
当前代码:
SELECT
sys.columns.name AS ColumnName,
tables.name AS TableName
FROM
sys.columns
JOIN
sys.tables ON sys.columns.object_id = tables.object_id
WHERE
sys.columns.name LIKE '%COLUMNNAME%'
有人知道我还需要添加什么来显示数据库名称吗?
答案 0 :(得分:1)
我建议使用INFORMATION_SCHEMA.tables
或.columns
,例如:
SELECT table_name, table_schema, table_catalog
from INFORMATION_SCHEMA.tables
where Table_name like '%<table>%'
与.columns
相同。只需将table_name
替换为column_name
SELECT column_name, table_schema, table_catalog, *
from INFORMATION_SCHEMA.COLUMNS where column_name like '%<Column>%'