Список всех таблиц, имеющих отношение к данной таблице или представлению - PullRequest
5 голосов
/ 28 апреля 2010

В SQL Server есть команда для возврата списка всех таблиц, имеющих отношение к данной таблице или представлению?

РЕДАКТИРОВАТЬ: SQL SERVER 2008

Ответы [ 3 ]

13 голосов
/ 28 апреля 2010

Для SQL Server 2005 и выше используйте что-то вроде:

SELECT
    name, OBJECT_NAME(parent_object_id) 'Table'
FROM 
    sys.foreign_keys
WHERE 
    referenced_object_id = OBJECT_ID('Your-referenced-table-name-here')
2 голосов
/ 08 мая 2015

Скажите, что ваше имя таблицы - TableX. Если вы хотите знать все отношения внешнего ключа (столбцы TableX, на которые есть ссылки в других таблицах, и столбцы других таблиц, на которые есть ссылки в TableX), вы можете сделать это:

select name 'ForeignKeyName', 
    OBJECT_NAME(referenced_object_id) 'RefrencedTable',
    OBJECT_NAME(parent_object_id) 'ParentTable'
from sys.foreign_keys
where referenced_object_id = OBJECT_ID('TableX') or 
    parent_object_id = OBJECT_ID('TableX')
2 голосов
/ 10 января 2012
-- To find all the foreign keys established to a table!
-- Columns: FKTABLE_NAME, FKCOLUMN_NAME
sp_fkeys @pktable_name='your table name here'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...