【问题标题】:Script to output information of foreign keys [duplicate]输出外键信息的脚本[重复]
【发布时间】:2017-11-05 08:10:30
【问题描述】:

我想知道有关我的外键的详细信息。

我试过了

SELECT * FROM sys.foreign_keys;

但我需要的不仅仅是我现在能得到的信息。 有没有办法通过使用这样的脚本来了解它们所引用的列?

【问题讨论】:

    标签: sql-server sql-server-2008


    【解决方案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?

    【讨论】:

    • 谢谢,它太复杂了,我完全不明白你的脚本中的任何内容。但我看到foreign_key_columns 似乎是我要找的那个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多