Oracle - URGENTE, FOREIGN KEYS!!!

 
Vista:

URGENTE, FOREIGN KEYS!!!

Publicado por FER (5 intervenciones) el 30/09/2004 13:42:15
Necesito hacer una consulta que me devuelva para una tabla concreta , el nombre de las tablas que tienen algun campo como clave foranea a la tabla dada asi como el nombre de los campos.

He consultado dba_constraints y dba_tab_columns pero no obtengo lo que necesito

Gracias por adelantado
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:URGENTE, FOREIGN KEYS!!!

Publicado por tito (1 intervención) el 30/09/2004 15:53:14
Hola, intenta consultar esta vista de sistema de la siguientre forma:
select * from all_cons_columns
where owner = 'nombre_usuario'
and table_name like 'nombre_tabla'
Espero te sirva de algo
Si no te suministra la informaciòn deseada intenta con esta otra:
select * from all_constraints
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:URGENTE, FOREIGN KEYS!!!

Publicado por proitzen (4 intervenciones) el 30/09/2004 15:58:36
Debieras usar user_constraint para conocer los foreign keys donde
constraint_type = 'R', y para conocer los campos debieras usar
user_cons_columns. Por ejemplo:

Select user_constraints.table_name, user_cons_columns.column_name, user_constraints.constraint_name
From user_constraints, user_cons_columns
Where user_constraints.constraint_name = user_cons_columns.constraint_name And
user_constraints.constraint_type = 'R' -- Foreign Key

Si tienes una cantidad grande de tablas esta consulta se va a denorar
bastante porque el join (relacion) es sobre campos de tipo caracteres
que en algunos casos pueden ser bastantes.

Ojalá te sirva.

Saludos.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar