Oracle - Ayuda PL/SQL listar todos los PK de todas las tablas que no tienen FK en otras tablas

   
Vista:

Ayuda PL/SQL listar todos los PK de todas las tablas que no tienen FK en otras tablas

Publicado por Alejandro (2 intervenciones) el 09/05/2015 23:17:34
Necesito listar todos los PK de todas las tablas que NO tienen FK en otras tablas no se si me explico...
La verdad, no sé como hacerlo y necesito averiguarlo de aqui a mañana :D!

Un saludo, por mi parte seguire investigando, gracias.
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

Ayuda PL/SQL listar todos los PK de todas las tablas que no tienen FK en otras tablas

Publicado por alejandro (2 intervenciones) el 10/05/2015 00:07:34
Necesito un procedimiento, que se me olvido recordarlo.
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

Ayuda PL/SQL listar todos los PK de todas las tablas que no tienen FK en otras tablas

Publicado por Rafael (177 intervenciones) el 11/05/2015 10:02:16
Hola:
Hola:

Puedes obtener el dato con un query, reemplazando "<usuario>" por el nombre del usuario que contiene los datos.

Un par de detallles, si una tabla tiene una primary key por mas de una columna, se presentaran tantos registros como columnas sean incluidas en la llave primaria.

1
2
3
4
5
6
7
8
9
10
11
SELECT *
FROM   ALL_CONSTRAINTS
WHERE  CONSTRAINT_TYPE = 'P'
AND    OWNER = '<usuario>'
AND    TABLE_NAME NOT IN (
                          SELECT TABLE_NAME
                          FROM   ALL_CONSTRAINTS
                          WHERE  CONSTRAINT_TYPE = 'R'
                          AND    OWNER = '<usuario>'
                         )
;

Y segundo evento, aqui primero buscamos las tablas que tienen foreign keys, y en base a ello descartamos y mostramos solo las que no lo tienen, en cuanto al procedimiento no entiendo que necesitas que el procedimiento lo liste??? Vaya en que lo vas a usar ??? Para hacer eso depende de la version de oracle las opciones que te puedo dar... pero creo lo dificil ya lo tienes.

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