PROBLEMA: Uno de los principales retos al que me tuve
enfrentar era conocer las relaciones que existían entre las tablas y por ende,
las columnas que componían cada una de las llaves primarias de las tablas, como
lograr esto?
SOLUCION: Existen varias formas de poder conocerlos, en
lo particular me adapté más a esta forma que es utilizando los procedimientos
de catalogo, les explico:
Como ejemplo utilizaré
algunas tablas de la BD AdventureWorks2014,
las cuales son Person.Person , Person.BusinessEntityContact, Person.ContactType
El script es el siguiente:
USE AdventureWorks2014; GO --nombre de la tabla DECLARE @varTableName VARCHAR(100) = 'Person' DECLARE @varTableOwner VARCHAR(100) = 'Person' EXEC sp_pkeys @table_name = @varTableName , @table_owner = @varTableOwner EXEC sp_fkeys @pktable_name = @varTableName , @pktable_owner = @varTableOwner EXEC sp_fkeys @fktable_name = @varTableName , @fktable_owner = @varTableOwner
USE AdventureWorks2014; GO --nombre de la tabla DECLARE @varTableName VARCHAR(100) = 'BusinessEntityContact' DECLARE @varTableOwner VARCHAR(100) = 'Person' EXEC sp_pkeys @table_name = @varTableName , @table_owner = @varTableOwner EXEC sp_fkeys @pktable_name = @varTableName , @pktable_owner = @varTableOwner EXEC sp_fkeys @fktable_name = @varTableName , @fktable_owner = @varTableOwner
USE AdventureWorks2014; GO --nombre de la tabla DECLARE @varTableName VARCHAR(100) = 'ContactType' DECLARE @varTableOwner VARCHAR(100) = 'Person' EXEC sp_pkeys @table_name = @varTableName , @table_owner = @varTableOwner EXEC sp_fkeys @pktable_name = @varTableName , @pktable_owner = @varTableOwner EXEC sp_fkeys @fktable_name = @varTableName , @fktable_owner = @varTableOwner
Es un script muy sencillo pero que me ha
ayudado bastante para conocer la información sobre una tabla, más adelante les
mostraré como pueden buscar una columna o una tabla en toda la BD en caso que
solo tenga una pequeña noción del nombre.
SALUDOS
COMPARTE ESTA INFORMACION SI TE PARECIO INTERESANTE
0 comentarios:
Publicar un comentario