Search This Blog

Wednesday, January 12, 2011

Find all Primary and Foreign Keys In A Database

---Find all Foreign Keys In A particular table Database
select * from (  SELECT object_name(f.parent_object_id) AS 'Tbl name', col_name
(fc.parent_object_id,fc.parent_column_id) AS Colname,OBJECT_NAME (f.referenced_object_id)
AS Ref_tbl_name,col_name(fc.referenced_object_id,fc.referenced_column_id) AS Ref_col_name
FROM sys.foreign_keys AS f INNER JOIN sys.foreign_key_columns AS fc
ON f.object_id = fc.constraint_object_id )as d where d.[Tbl name]='Patient_Fact'
---Find all Foreign Keys In A Database
SELECT object_name(f.parent_object_id) AS 'Tbl name', col_name
(fc.parent_object_id,fc.parent_column_id) AS Colname,OBJECT_NAME (f.referenced_object_id)
AS Ref_tbl_name,col_name(fc.referenced_object_id,fc.referenced_column_id) AS Ref_col_name
FROM sys.foreign_keys AS f INNER JOIN sys.foreign_key_columns AS fc ON
f.object_id = fc.constraint_object_id
---Find all Primary and Foreign Keys In A Database
SELECT tc.table_name AS PrimaryKeyTable,tc.constraint_name AS PrimaryKey, COALESCE
(rc1.constraint_name,'N/A') AS ForeignKey ,COALESCE(tc2.TABLE_NAME,'N/A') AS ForeignKeyTable FROM information_schema.table_constraints tc
LEFT JOIN information_schema.referential_constraints rc1 ON tc.constraint_name  =rc1.unique_constraint_name LEFT
JOIN information_schema.table_constraints tc2 ON tc2.constraint_name =rc1.constraint_name
WHERE TC.constraint_type ='PRIMARY KEY' ORDER
BY tc.table_name,tc.constraint_name,rc1.constraint_name

No comments:

Post a Comment