他们以任何其他方式或sql
查询查找具有特定列的数据库表名,而不是如下所示:
SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'NameID'
答案 0 :(得分:26)
在SQL Server中,您可以查询sys.columns
。
类似的东西:
SELECT
t.name
FROM
sys.columns c
inner join
sys.tables t
on
c.object_id = t.object_id
WHERE
c.name = 'NameID'
如果您有多个模式中的表,则可能需要额外的查找来解析模式名称。
答案 1 :(得分:5)
您可以运行此查询
SELECT t.name AS table_name,
SCHEMA_NAME(schema_id) AS schema_name,
c.name AS column_name
FROM sys.tables AS t
INNER JOIN sys.columns c ON t.OBJECT_ID = c.OBJECT_ID
WHERE c.name LIKE '%Column%' -- write the column you search here
ORDER BY schema_name, table_name;
答案 2 :(得分:0)
对于Oracle数据库。使用以下查询:
select table_name from all_tab_columns where column_name = 'NameID';
如果您具有DBA特权,则可以尝试使用以下命令:
select table_name from dba_tab_columns where column_name = 'NameID';