Knowledge Base

¿Qué es esto?

SQL SERVER: Obtener todas las foreign keys de un esquema

29/06/2016 - 07/02/2017 -  Comentarios - SQL SERVER Constraints

Se hace mediante la siguiente consulta:

SELECT DISTINCT

PARENT_TABLE =  RIGHT(REPLACE(TC.CONSTRAINT_NAME,'FK_',''),LEN(REPLACE(TC.CONSTRAINT_NAME,'FK_','')) - CHARINDEX('_',REPLACE(TC.CONSTRAINT_NAME,'FK_','')))

,CHILD_TABLE = TC.TABLE_NAME

,CU.COLUMN_NAME

,TC.CONSTRAINT_NAME

,TC.CONSTRAINT_TYPE

FROM

INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC

INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE CU

ON TC.CONSTRAINT_NAME = CU.CONSTRAINT_NAME

WHERE

TC.CONSTRAINT_TYPE like '%foreign' OR

TC.CONSTRAINT_TYPE like '%foreign%' OR

TC.CONSTRAINT_TYPE like 'foreign%';