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

Откуда:
Сообщений: 3
здравствуйте.
мне необходимо получить список всех внешних ключей базы данных (необходимо список, содержащий имена родительской таблицы, родительской колонки, дочерней таблицы и дочерней колонки).
подскажите пожалуйста, как это сделать
27 ноя 09, 12:51    [7987279]     Ответить | Цитировать Сообщить модератору
 Re: получить список внешних ключей (Sql server)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31200
Илья Ефимов
здравствуйте.
мне необходимо получить список всех внешних ключей базы данных (необходимо список, содержащий имена родительской таблицы, родительской колонки, дочерней таблицы и дочерней колонки).
подскажите пожалуйста, как это сделать
Ну, для начала нужно выяснить, для какой версии это требуется сделать.

Потом помотреть описание системных таблиц и представлений в хелпе по этой версии, и составить запрос.

Учитывайте ещё, что не "родительской (дочерней) колонки", а "родительских (дочерних) колонок"
27 ноя 09, 12:56    [7987315]     Ответить | Цитировать Сообщить модератору
 Re: получить список внешних ключей (Sql server)  [new]
iiyama
Member

Откуда:
Сообщений: 642
BOL
27 ноя 09, 12:59    [7987336]     Ответить | Цитировать Сообщить модератору
 Re: получить список внешних ключей (Sql server)  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Проще всего в цикле (например, с помощью sp_MSforeachtable) заполнить таблицу результатами вызовов sp_fkeys.
27 ноя 09, 13:01    [7987348]     Ответить | Цитировать Сообщить модератору
 Re: получить список внешних ключей (Sql server)  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Для 2005 и 2008:

SELECT
  OBJECT_NAME(constraint_object_id) AS FKName,
  OBJECT_NAME(parent_object_id) AS TableName, 
  COL_NAME(parent_object_id, parent_column_id) AS ColumnName, 
  OBJECT_NAME(referenced_object_id) AS RefTableName,
  COL_NAME(referenced_object_id, referenced_column_id) AS RefColumnName
FROM
  sys.foreign_key_columns 
ORDER BY
  FKName,
  constraint_column_id
27 ноя 09, 13:21    [7987505]     Ответить | Цитировать Сообщить модератору
 Re: получить список внешних ключей (Sql server)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31200
iap
Проще всего в цикле (например, с помощью sp_MSforeachtable) заполнить таблицу результатами вызовов sp_fkeys.
Только астору нужно всё таки решить, как быть с множеством колонок...
27 ноя 09, 13:22    [7987513]     Ответить | Цитировать Сообщить модератору
 Re: получить список внешних ключей (Sql server)  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
alexeyvg
iap
Проще всего в цикле (например, с помощью sp_MSforeachtable) заполнить таблицу результатами вызовов sp_fkeys.
Только астору нужно всё таки решить, как быть с множеством колонок...
А что с ними не так?
27 ноя 09, 13:33    [7987588]     Ответить | Цитировать Сообщить модератору
 Re: получить список внешних ключей (Sql server)  [new]
Илья Ефимов
Member

Откуда:
Сообщений: 3
спасибо!
27 ноя 09, 14:01    [7987794]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить