Ver Mensaje Individual
  #3 (permalink)  
Antiguo 01/04/2009, 15:43
jc3000
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 16 años, 10 meses
Puntos: 43
Respuesta: Ayuda con tablas de Sistema pl/sql

Añadimos all_tables.
Un poco de culturilla para el nuevo compañero : USER_TABLES te muestra TUS tablas, DBA_TABLES te muestra TODAS las tablas de tu BBDD y ALL_TABLES te muestra TUS tablas y aquellas sobre las que tienes permisos.
AHora, eso de ID supongo que te refieres a la PK ( Clave primaria ), si es así tienes que ir a la tabla ALL/USER/DBA_CONSTRAINTS, preguntando por el TABLE_NAME y por CONSTRAINT_TYPE = 'P' ( Creo que es P de Primary ), eso te dará el nombre de la clave primaria. Y si quieres saber cuantos campos la forman, tienes que ir a ALL/USER/DBA_CONS_COLUMNS preguntando por el CONSTRAINT_NAME que has recuperado de ALL_CONSTRAINTS ordenandolo por POSITION .

Pongo las interrogaciones porque estoy en casa y lo estoy poniendo de corrido ( aquí no tengo instalado Oracle, bastante tengo en el curro ) , de hecho creo que en ALL_CONSTRAINTS tienes que preguntar por el R_TABLE_NAME y recuperar el valor del campo R_CONSTRAINT_NAME.

Mañana lo confirmo desde el curro.

EDITO : Lo confirmo y rectifico. En all_constraints, tienes que preguntar por el TABLE_NAME y el CONSTRAINT_NAME

Última edición por jc3000; 02/04/2009 a las 06:04