为了账号安全,请及时绑定邮箱和手机立即绑定

如何找到在SQL Server外键的依赖?

如何找到在SQL Server外键的依赖?

梦里花落0921 2019-11-05 15:52:03
如何找到特定列上的所有外键依赖项?有哪些不同的选择(在SSMS中为图形,在SQL Server中为查询/视图,第三方数据库工具,在.NET中为代码)?
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

以下查询将帮助您入门。它列出了当前数据库中的所有外键关系。


SELECT

    FK_Table = FK.TABLE_NAME,

    FK_Column = CU.COLUMN_NAME,

    PK_Table = PK.TABLE_NAME,

    PK_Column = PT.COLUMN_NAME,

    Constraint_Name = C.CONSTRAINT_NAME

FROM

    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C

INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK

    ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME

INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK

    ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME

INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU

    ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME

INNER JOIN (

            SELECT

                i1.TABLE_NAME,

                i2.COLUMN_NAME

            FROM

                INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1

            INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2

                ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME

            WHERE

                i1.CONSTRAINT_TYPE = 'PRIMARY KEY'

           ) PT

    ON PT.TABLE_NAME = PK.TABLE_NAME

您也可以在数据库图的SQL Server Management Studio中以图形方式查看关系。


查看完整回答
反对 回复 2019-11-05
  • 3 回答
  • 0 关注
  • 774 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信