>>SELECT >> OBJECT_NAME(f.rkeyid) PK_Table_name, >> c2.name PK_Column_name, >> OBJECT_NAME(f.constid) Constraint_name, >> OBJECT_NAME(f.fkeyid) FK_Table_name, >> c1.name FK_Column_name >>FROM dbo.sysforeignkeys f >>INNER JOIN dbo.syscolumns c1 ON c1.id = f.fkeyid AND c1.colid = f.fkey >>INNER JOIN dbo.syscolumns c2 ON c2.id = f.rkeyid AND c2.colid = f.rkey >>--where Object_Name(fkeyId) = 'Foreign Table Name' >>ORDER BY PK_Table_name, FK_Table_name, FK_Column_name;>>
>>SELECT >> PK_Table = PK.TABLE_NAME, >> PK_Column = PT.COLUMN_NAME, >> FK_Table = FK.TABLE_NAME, >> FK_Column = CU.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>