CONSULTAR LAS TABLAS HIJAS
Vamos a ver que informacion contiene la tabla MD_SYS_TABLE_RELATIONSSelect * from MD_SYS_TABLE_RELATIONS
Supongamos que queremos determinar todas las tablas hijas de la tabla DM_EVENT, para esto utilizamos la siguiente consulta:
INNER JOIN MD_SYS_TABLE_RELATIONS p2
ON p1.CHILD_TABLE = p2.parent_table
WHERE p1.PARENT_TABLE='DM_EVENT'
Esta consulta nos retorna todas las tablas hijas de la tabla DM_EVENT, los registros repetidos indican que estas tablas del campo PARENT2, tienen tablas hijas.
Estructurando mejor esta consulta podemos ademas mostrar las tablas hijas sucesivas:
SELECT p1.parent_table parent1, p1.CHILD_TABLE parent2, p2.CHILD_TABLE parent3,p3.CHILD_TABLE parent4,p4.CHILD_TABLE parent5,p5.CHILD_TABLE parent6,p6.CHILD_TABLE FROM MD_SYS_TABLE_RELATIONS p1
INNER JOIN MD_SYS_TABLE_RELATIONS p2
ON p1.CHILD_TABLE = p2.parent_table
left JOIN MD_SYS_TABLE_RELATIONS p3
ON p2.CHILD_TABLE = p3.parent_table
left JOIN MD_SYS_TABLE_RELATIONS p4
ON p3.CHILD_TABLE = p4.parent_table
left JOIN MD_SYS_TABLE_RELATIONS p5
ON p4.CHILD_TABLE = p5.parent_table
left JOIN MD_SYS_TABLE_RELATIONS p6
ON p5.CHILD_TABLE = p6.parent_table
WHERE p1.PARENT_TABLE='DM_EVENT'
Cunado nos muestre el campo null en la coliumna de la derecha, nos indicara que ya no tiene tablas hijas.
No hay comentarios.:
Publicar un comentario