Showing posts with label Foreign Key. Show all posts
Showing posts with label Foreign Key. Show all posts

Thursday, October 8, 2015

Get list of all foreign keys in SQL database

Hello friends,

Yesterday in free time I was just googling for a solution if I can get a single list of all foreign keys defined in my Microsoft SQL database. I found many articles and answers on stack-overflow, too.

Finally after compiling all those solutions I have created my own SQL script. So sharing the with you here with a hope that this may help someone.

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
-- optional:
ORDER BY 1,2,3,4

Find a cool free stuff everyday

Giveaway of the Day

Hiren Bharadwa's Posts

DotNetJalps