Sql server 从列名确定表名
假设我知道列名,如何确定哪些表具有这些列名?在我的数据库中有很多表,但我不确定哪些表包含这些列名。实际上不可能打开数据库中的所有表?请帮忙。 我知道一些表的键列值,但我不知道与我的id对应的那些值是在哪里定义的。我知道地址键、shipmentkey等,但不知道在哪个表中可以找到这些值?Sql server 从列名确定表名,sql-server,Sql Server,假设我知道列名,如何确定哪些表具有这些列名?在我的数据库中有很多表,但我不确定哪些表包含这些列名。实际上不可能打开数据库中的所有表?请帮忙。 我知道一些表的键列值,但我不知道与我的id对应的那些值是在哪里定义的。我知道地址键、shipmentkey等,但不知道在哪个表中可以找到这些值? 如果我有地址键1,我应该能够找到对应于1的地址。在sql server中是否有办法找到这一点 您可以执行以下操作 select TABLE_NAME,COLUMN_NAME from INFORMATION
如果我有地址键1,我应该能够找到对应于1的地址。在sql server中是否有办法找到这一点 您可以执行以下操作
select TABLE_NAME,COLUMN_NAME
from INFORMATION_SCHEMA.COLUMNS
where COLUMN_NAME = 'YourColumnNameHere'
这将返回使用列的所有表(和视图)。查找具有特定列名的表相对简单:
SELECT t.name FROM sys.columns c
JOIN sys.tables t ON c.object_id = t.object_id
WHERE c.name = 'NAME'
ORDER BY t.name
但这并不能确定哪个表具有哪个ID值。您必须单独查询返回的表