In this article we are trying to find how many ways that we can find foreign key sql server.
There are so many ways to find out but currently i am going to talking about only 3 ways.
I am using ReportServer database for this demo.
Method 1.
Using this query we can find all foreign key in current database.
select * from sysobjects where type='f'
Output
Method 2.
Using this query we can find all foreign key in a selected table.
EXEC sp_fkeys 'Catalog'
Output
Method 3.
Using this query we can find all foreign key in a current database with more information.
SELECT RC.CONSTRAINT_NAME FK_Name , KF.TABLE_SCHEMA FK_Schema , KF.TABLE_NAME FK_Table , KF.COLUMN_NAME FK_Column , RC.UNIQUE_CONSTRAINT_NAME PK_Name , KP.TABLE_SCHEMA PK_Schema , KP.TABLE_NAME PK_Table , KP.COLUMN_NAME PK_Column , RC.MATCH_OPTION MatchOption , RC.UPDATE_RULE UpdateRule , RC.DELETE_RULE DeleteRule FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS RC JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KF ON RC.CONSTRAINT_NAME = KF.CONSTRAINT_NAME JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE KP ON RC.UNIQUE_CONSTRAINT_NAME = KP.CONSTRAINT_NAME
Output
Hope this article is helpful.