How can I find out what FOREIGN KEY constraint references a table in SQL Server?

前端 未结 15 836
再見小時候
再見小時候 2020-12-04 05:12

I am trying to drop a table but getting the following message:

Msg 3726, Level 16, State 1, Line 3
Could not drop object \'dbo.UserProfile\' bec

15条回答
  •  旧时难觅i
    2020-12-04 05:54

    SELECT 
        obj.name      AS FK_NAME,
        sch.name      AS [schema_name],
        tab1.name     AS [table],
        col1.name     AS [column],
        tab2.name     AS [referenced_table],
        col2.name     AS [referenced_column]
    FROM 
         sys.foreign_key_columns fkc
    INNER JOIN sys.objects obj
        ON obj.object_id = fkc.constraint_object_id
    INNER JOIN sys.tables tab1
        ON tab1.object_id = fkc.parent_object_id
    INNER JOIN sys.schemas sch
        ON tab1.schema_id = sch.schema_id
    INNER JOIN sys.columns col1
        ON col1.column_id = parent_column_id AND col1.object_id = tab1.object_id
    INNER JOIN sys.tables tab2
        ON tab2.object_id = fkc.referenced_object_id
    INNER JOIN sys.columns col2
        ON col2.column_id = referenced_column_id 
            AND col2.object_id =  tab2.object_id;
    

提交回复
热议问题