Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Определить таблицы связанные внешним ключем  [new]
Tanya_0306
Member

Откуда:
Сообщений: 272
Подскажите к какой системной таблице обратится, чтобы получить данные для следующей ситуации:

Есть таблица Waybills. Запросом получаю ее внешние ключи
select CONSTRAINT_NAME  from INFORMATION_SCHEMA.TABLE_CONSTRAINTS
where CONSTRAINT_CATALOG='EXPORT'
and 
TABLE_NAME='Bills'
and CONSTRAINT_TYPE='FOREIGN KEY'


Результат запроса "FK_1"
А теперь как узнать первичный ключ какой таблице являлся внешним ключом для таблицы "Waybills"
16 окт 13, 13:22    [14979668]     Ответить | Цитировать Сообщить модератору
 Re: Определить таблицы связанные внешним ключем  [new]
Гость333
Member

Откуда:
Сообщений: 3683
select name as foreign_key_name,
       object_schema_name(parent_object_id) as referencing_object_schema,
       object_name(parent_object_id) as referencing_object_name,
       object_schema_name(referenced_object_id) as referenced_object_schema,
       object_name(referenced_object_id) as referenced_object_name
from sys.foreign_keys


И это не обязательно должен быть первичный ключ, может быть и unique constraint.
16 окт 13, 13:37    [14979814]     Ответить | Цитировать Сообщить модератору
 Re: Определить таблицы связанные внешним ключем  [new]
iap
Member

Откуда: Москва
Сообщений: 47083
Гость333
И это не обязательно должен быть первичный ключ, может быть и unique constraint.
Или просто уникальный индекс
16 окт 13, 13:48    [14979879]     Ответить | Цитировать Сообщить модератору
 Re: Определить таблицы связанные внешним ключем  [new]
Tanya_0306
Member

Откуда:
Сообщений: 272
Спасибо!!
16 окт 13, 14:06    [14980002]     Ответить | Цитировать Сообщить модератору
 Re: Определить таблицы связанные внешним ключем  [new]
Tanya_0306
Member

Откуда:
Сообщений: 272
очень оперативно!!
16 окт 13, 14:07    [14980004]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить