【发布时间】:2013-08-10 15:49:42
【问题描述】:
我正在使用 SQL Server 2012,想知道是否有办法在给定数据库中查找包含特定列的所有表?
【问题讨论】:
-
我确定有系统表可以查询。
标签: sql sql-server sql-server-2012
我正在使用 SQL Server 2012,想知道是否有办法在给定数据库中查找包含特定列的所有表?
【问题讨论】:
标签: sql sql-server sql-server-2012
select
quotename(S.name) + '.' + quotename(T.name) as [Table]
from sys.columns C
join sys.tables T on T.object_id = C.object_id
join sys.schemas S on S.schema_id = T.schema_id
where C.name = 'ColumnName'
order by 1
【讨论】:
我认为最简单的方法是使用INFORMATION_SCHEMA.COLUMNS 表:
select c.SCHEMA_NAME, c.TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS c
where c.COLUMN_NAME = @YOURCOLUMNNAME;
【讨论】: