【问题标题】:Show All Tables Containing A Certain Column [duplicate]显示包含特定列的所有表 [重复]
【发布时间】:2013-08-10 15:49:42
【问题描述】:

我正在使用 SQL Server 2012,想知道是否有办法在给定数据库中查找包含特定列的所有表?

【问题讨论】:

  • 我确定有系统表可以查询。

标签: sql sql-server sql-server-2012


【解决方案1】:
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

【讨论】:

    【解决方案2】:

    我认为最简单的方法是使用INFORMATION_SCHEMA.COLUMNS 表:

    select c.SCHEMA_NAME, c.TABLE_NAME
    from INFORMATION_SCHEMA.COLUMNS c
    where c.COLUMN_NAME = @YOURCOLUMNNAME;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-11
      • 2012-07-16
      • 1970-01-01
      • 2021-11-26
      • 2022-12-31
      • 2014-12-08
      • 1970-01-01
      相关资源
      最近更新 更多