有没有办法查看数据库中的任何表中是否存在特定字段?
Is there a way to see if a specific field exists in any of the tables in a database?
我有一个 SQL 服务器数据库,其中包含约 100 个表,每个表由 50-450 列(字段)组成,我想知道某个字段是否存在于任何表中而无需手动检查它们。
例如,我想找出哪些表包含字段household_no
。
我怎样才能做到这一点?
一种方法是使用 sys
对象:
SELECT s.[name] AS SchemaName,
t.[name] AS TableName
FROM sys.schemas s
JOIN sys.tables t ON s.schema_id = t.schema_id
JOIN sys.columns c ON t.object_id = c.object_id
WHERE c.[name] = N'household_no';
我有一个 SQL 服务器数据库,其中包含约 100 个表,每个表由 50-450 列(字段)组成,我想知道某个字段是否存在于任何表中而无需手动检查它们。
例如,我想找出哪些表包含字段household_no
。
我怎样才能做到这一点?
一种方法是使用 sys
对象:
SELECT s.[name] AS SchemaName,
t.[name] AS TableName
FROM sys.schemas s
JOIN sys.tables t ON s.schema_id = t.schema_id
JOIN sys.columns c ON t.object_id = c.object_id
WHERE c.[name] = N'household_no';