找到主键已知的表

时间:2016-07-20 15:54:22

标签: sql-server

我有一种奇怪的情况。我有一个案例,我知道一个主键列,但不知道它所在的表。

任何人都知道快速找到这些信息的方法吗?我希望sp_pkeys可以做到这一点,但它不允许我使用该列作为参数。

编辑:这与查找带有的表格不同(我已经知道如何操作)。我正在寻找具有特定主键的表(这是“重复问题”的子集)。

2 个答案:

答案 0 :(得分:2)

SELECT COLUMN_NAME, TABLE_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE OBJECTPROPERTY(OBJECT_ID(CONSTRAINT_SCHEMA + '.' + CONSTRAINT_NAME), 'IsPrimaryKey') = 1
AND COLUMN_NAME = 'yourColumnName'

答案 1 :(得分:1)

这是另一种方法。

select OBJECT_NAME(c.Object_ID)
from sys.columns c
join sys.indexes i on c.object_id = i.object_id 
where i.is_primary_key = 1
    and c.name = 'YourColumn'