2024年5月30日 星期四

Sql Server 查出所有 Foreign Key (外鍵) 相依關係的 Sql

紀錄下
 Sql Server 查出所有 Foreign Key (外鍵) 相依關係的 Sql
參考自這篇文

How can I list all foreign keys referencing a given table in SQL Server?

Gustavo Rubio
的回答

 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


參考資料:

  1. How can I list all foreign keys referencing a given table in SQL Server?

沒有留言 :

張貼留言