2014-12-30 2 views

ответ

2

Используйте этот ..

SELECT fk.name, 
     Object_name(fk.parent_object_id) [Parent table], 
     c1.name       [Parent column] 
FROM sys.foreign_keys fk 
     INNER JOIN sys.foreign_key_columns fkc 
       ON fkc.constraint_object_id = fk.object_id 
     INNER JOIN sys.columns c1 
       ON fkc.parent_column_id = c1.column_id 
        AND fkc.parent_object_id = c1.object_id 
     INNER JOIN sys.columns c2 
       ON fkc.referenced_column_id = c2.column_id 
        AND fkc.referenced_object_id = c2.object_id 
WHERE Object_name(fk.referenced_object_id) = 'Tablename' -- Replace with your tablename 
     AND c2.name = 'Columname' -- Replace with your columname 

Или просто использовать

sp_help Tablename or [Alt]+F1 
+0

Похоже, что sp_help Tablename делает то, что мне нужно. Огромное спасибо! – Jemmeh

2

Это должно помочь. Просто запустите его в БД вы хотите запросить:

SELECT f.NAME AS ForeignKey 
    ,SCHEMA_NAME(f.SCHEMA_ID) SchemaName 
    ,OBJECT_NAME(f.parent_object_id) AS TableName 
    ,COL_NAME(fc.parent_object_id, fc.parent_column_id) AS ColumnName 
    ,SCHEMA_NAME(o.SCHEMA_ID) ReferenceSchemaName 
    ,OBJECT_NAME(f.referenced_object_id) AS ReferenceTableName 
    ,COL_NAME(fc.referenced_object_id, fc.referenced_column_id) AS ReferenceColumnName 
FROM sys.foreign_keys AS f 
INNER JOIN sys.foreign_key_columns AS fc ON f.OBJECT_ID = fc.constraint_object_id 
INNER JOIN sys.objects AS o ON o.OBJECT_ID = fc.referenced_object_id 
GO 

Источник: http://blog.sqlauthority.com/2009/02/26/sql-server-2008-find-relationship-of-foreign-key-and-primary-key-using-t-sql-find-tables-with-foreign-key-constraint-in-database/

В принципе, первый столбец является FK, а затем схемы FK и объекта. Ниже перечислены имя столбца PK, его схема и объект.

1

Либо из ответов по NoDisplayName или Kris G. должны работать, но если вы хотите что-то легче запомнить, пока вы в SSMS, просто щелкните правой кнопкой мыши внешний ключ и выберите «Сценарий как> Создать в> Новое окно».

После этого вы получите скрипт, который можно использовать для (повторного) создания FK, и вы сможете увидеть, какой столбец он ссылается в какой таблице, прочитав скрипт.

Смежные вопросы