Sie sind auf Seite 1von 1

Cmo listar mis tablas dependientes, y tablas que dependen de mi Ciertas veces, para llevar acabo algunas tareas

administrativas, tenemos la necesidad de saber cuales son las tablas (u otros objetos: Vistas, UDFs, Stored Procedures) de las cuales depende determinada tabla, o cuales son las tablas (u otros objetos) que dependen de determinada tabla. Existen dos formas, la primera es dando click sobre una tabla cualquiera y luego click derecho para finalmente escoger "'View Dependencies'". En este post voy a explicar como llevar acabo esta tarea mediante T-SQL. Existen dos vistas del sistema: sys.objects y sys.sysreferences, que podemos consultar para extraer dicha informacin haciendo una operacin JOIN entre estas en base a la dos columnas claves:kfeyid y rkeyid. y y fkeyid -> Id. de la tabla que hace referencia rkeyid -> Id. de la tabla a la que se hace referencia

La vista sys.objects contiene informacin para cada objeto(excepto triggers DDL y DML) creada dentro de la base de datos definido dentro del esquema del usuario. Usando sys.sysreferences podemos acceder a la metadata de las definiciones de todas las restricciones FOREIGN KEY a las columnas involucradas en una base de datos definida tambin dentro del esquema del usuario. Por ejemplo si deseamos ver las tablas dependientes sobre la tabla Products (DB Northwind): 1: SELECT S.[name] AS 'Tablas Dependientes' 2: FROM sys.objects S INNER JOIN sys.sysreferences R 3: ON S.OBJECT_ID = R.rkeyid 4: WHERE S.[type] = 'U' AND 5: R.fkeyid = OBJECT_ID('Products') Si deseamos sabes cuales son las tablas, las cuales dependen de la tabla Products: 1: SELECT S.[name] AS 'Tablas que depende de Products' 2: FROM sys.objects S INNER JOIN sys.sysreferences R 3: ON S.object_id = R.fkeyid 4: WHERE S.[type] = 'U' 5: AND R.rkeyid = OBJECT_ID('Products') Este cdigo podriamos generalizarlo dentro de un stored procedure y hacindolo totalmente dinmico no slo para consultar informacin acerca de tablas sino de otros objetos como Vistas, SPs, UDF, etc. Cuestin que usted podr hacerlo rpidamente ;). En fin, eso fue lo que queria aportar, espero sea de utilidad!, Feliz Navidad para todos! :D.

Das könnte Ihnen auch gefallen