在其他地方识别用作外键的主键

时间:2013-02-27 16:54:31

标签: sql-server foreign-keys primary-key

我在CustomerID中有一个名为CustomerTable的主键,并且该PK可能在同一数据库中的各种其他表(读取超过50个)中用作FK。

我想知道是否有一种简单的方法来识别这个PK被用作FK的所有表格。

注意:我正在使用SQL Server

任何帮助都将受到高度赞赏

2 个答案:

答案 0 :(得分:2)

SELECT ro.name as Referedtable, co.name as foreinKey,so.name as ParentTable
FROM sys.foreign_key_columns fkc
join sys.sysobjects co on co.id=fkc.constraint_object_id
join sys.sysobjects so on so.id=fkc.parent_object_id
join sys.sysobjects ro on ro.id=fkc.referenced_object_id
where ro.name='CustomerTable'

答案 1 :(得分:0)

我自己想出了这个,这就是我做的。

SELECT *
  FROM [YourDBName].[sys].[foreign_keys]
  WHERE name LIKE '%CustomerID%'