Hoy les dejo un post que les puede resultar muy útil.
A mi me ha sacado de más de un apuro.
Suele pasar que a veces trabajamos con bases de datos muy grandes, o que estén mal diseñadas o que simplemente no entendemos por completo su esquema. A mi me ha pasado en el trabajo con una base de datos diseñada fuera de Raona.
En trabajos como este necesitamos buscar información determinada, y nos pasamos recorriendo tablas y tablas.
Para evitar esto les dejo un script SQL, para SQL Server, para encontrar tablas con FKs que apuntan a una tabla que nosotros queramos. Este script nos devuelve la tabla donde se encuentra la clave foránea, la columna de la FK y además el nombre de la constraint.-- RELACION DE TABLA (DEPENDENCIAS)
SELECT
FK_Table = FK.TABLE_NAME,
FK_Column = CU.COLUMN_NAME,
PK_Table = PK.TABLE_NAME,
PK_Column = PT.COLUMN_NAME,
ConstraintName = 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
TC.TABLE_NAME, CU.COLUMN_NAME
FROM
INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC
INNER JOIN
INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU
ON TC.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
WHERE TC.CONSTRAINT_TYPE = 'PRIMARY KEY'
) PT
ON PT.TABLE_NAME = PK.TABLE_NAME
WHERE
PK.TABLE_NAME = 'SALESORDERHEADER' -- TU TABLA
Espero sinceramente que le sirva a alguien!
Buscar FKs - Relaciones de Tablas - Sql Server
Publicadas por
Marcos
Etiquetas: asp.net, base de datos, clave foranea, dependencias, fk, relacion, sql server, tabla, tablas
Suscribirse a:
Comentarios de la entrada (Atom)
8 comentarios:
justo lo que estaba buscando
muchas gracias
dario
Marcos muy buen blog sos un capo segui asi. gracias por la info. un abrazo
Cochelo.
No con BJ justamente Javi, jaja
Pero si tiene que ver con renegar con BDs ajenas.
Jeje, saludo che!
Muy buena info
muchas gracias
lo probaré y te pregunto si me surgen dudas
Un "me ha servido" gracias!!
a mi me sale vacio
a mi me sale vacio
MUCHAS GRACIAS, :)
Publicar un comentario