从给定数据库中识别表

时间:2013-08-08 06:09:04

标签: sql sql-server

我有一个名为xyz的数据库,它有很多表。

现在,如果我有一个列的名称并想知道给定数据库中该列所有的所有表,是否可以这样做?

我正在研究SQL Server。

2 个答案:

答案 0 :(得分:7)

您必须查询information_schema SQL Server内部表:

SELECT  TABLE_NAME 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE COLUMN_NAME = 'columnname'

答案 1 :(得分:1)

试试这个 -

SELECT SCHEMA_NAME(o.[schema_id]) + '.' + o.name
FROM sys.objects o WITH (NOWAIT)
JOIN sys.columns c WITH (NOWAIT) ON o.[object_id] = c.[object_id]
WHERE o.[type] = 'U'
    AND c.name = 'column_name'