01/04/2009, 15:43
|
| | Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 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 |