{"id":480,"date":"2015-04-27T06:16:36","date_gmt":"2015-04-27T06:16:36","guid":{"rendered":"http:\/\/mairwa.com\/wordpress\/?p=480"},"modified":"2015-04-27T06:16:36","modified_gmt":"2015-04-27T06:16:36","slug":"sql-server-get-foreign-key-dependencies","status":"publish","type":"post","link":"http:\/\/mairwa.com\/wordpress\/?p=480","title":{"rendered":"SQL Server: Get foreign key dependencies"},"content":{"rendered":"<p>SELECT<br \/>\n    K_Table = FK.TABLE_NAME,<br \/>\n    FK_Column = CU.COLUMN_NAME,<br \/>\n    PK_Table = PK.TABLE_NAME,<br \/>\n    PK_Column = PT.COLUMN_NAME,<br \/>\n    Constraint_Name = C.CONSTRAINT_NAME<br \/>\nFROM<br \/>\n    INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C<br \/>\nINNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK<br \/>\n    ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME<br \/>\nINNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK<br \/>\n    ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME<br \/>\nINNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU<br \/>\n    ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME<br \/>\nINNER JOIN (<br \/>\n            SELECT<br \/>\n                i1.TABLE_NAME,<br \/>\n                i2.COLUMN_NAME<br \/>\n            FROM<br \/>\n                INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1<br \/>\n            INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2<br \/>\n                ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME<br \/>\n            WHERE<br \/>\n                i1.CONSTRAINT_TYPE = &#8216;PRIMARY KEY&#8217;<br \/>\n           ) PT<br \/>\n    ON PT.TABLE_NAME = PK.TABLE_NAME<\/p>\n<p>&#8212;<\/p>\n<p>SELECT<br \/>\n    o1.name AS FK_table,<br \/>\n    c1.name AS FK_column,<br \/>\n    fk.name AS FK_name,<br \/>\n    o2.name AS PK_table,<br \/>\n    c2.name AS PK_column,<br \/>\n    pk.name AS PK_name,<br \/>\n    fk.delete_referential_action_desc AS Delete_Action,<br \/>\n    fk.update_referential_action_desc AS Update_Action<br \/>\nFROM sys.objects o1<br \/>\n    INNER JOIN sys.foreign_keys fk<br \/>\n        ON o1.object_id = fk.parent_object_id<br \/>\n    INNER JOIN sys.foreign_key_columns fkc<br \/>\n        ON fk.object_id = fkc.constraint_object_id<br \/>\n    INNER JOIN sys.columns c1<br \/>\n        ON fkc.parent_object_id = c1.object_id<br \/>\n        AND fkc.parent_column_id = c1.column_id<br \/>\n    INNER JOIN sys.columns c2<br \/>\n        ON fkc.referenced_object_id = c2.object_id<br \/>\n        AND fkc.referenced_column_id = c2.column_id<br \/>\n    INNER JOIN sys.objects o2<br \/>\n        ON fk.referenced_object_id = o2.object_id<br \/>\n    INNER JOIN sys.key_constraints pk<br \/>\n        ON fk.referenced_object_id = pk.parent_object_id<br \/>\n        AND fk.key_index_id = pk.unique_index_id<br \/>\nORDER BY o1.name, o2.name, fkc.constraint_column_id<\/p>\n","protected":false},"excerpt":{"rendered":"<p class=\"excerpt\">SELECT K_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&hellip; <a href=\"http:\/\/mairwa.com\/wordpress\/?p=480\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"class_list":["post-480","post","type-post","status-publish","format-standard","hentry","category-sql","xfolkentry"],"_links":{"self":[{"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/480","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=480"}],"version-history":[{"count":0,"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/480\/revisions"}],"wp:attachment":[{"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=480"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=480"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/mairwa.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=480"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}