2017-06-04 67 views
0

我想知道關於外鍵的詳細信息。輸出外鍵信息的腳本

我想這

SELECT * FROM sys.foreign_keys; 

但我需要比信息我現在可以得到更多。 有沒有辦法通過使用這樣的腳本來知道他們正在引用的列?

回答

1

要獲得所有的表和列名的列表,使用下面的代碼: -

select 
    t.name as TableWithForeignKey, 
    c.name as ForeignKeyColumn 
from 
    sys.foreign_key_columns as fk 
inner join 
    sys.tables as t on fk.parent_object_id = t.object_id 
inner join 
    sys.columns as c on fk.parent_object_id = c.object_id and fk.parent_column_id = c.column_id 
where 
    fk.referenced_object_id in (select object_id 
           from sys.tables) 
order by 
    TableWithForeignKey 

參考: - How can I list all foreign keys referencing a given table in SQL Server?

+0

謝謝,它是如此複雜,我不明白你的腳本什麼高。但我看到'foreign_key_columns'似乎是我正在尋找的那個。 –