Gente,
Estoy luchando con esto pero no lo encuentro,
Alguien sabe en que tabla de sistema el oracle guarda los nombres de las tablas de las base de datos creadas por los usuarios con sus id correspondientes?
Muchas gracias.
Saludos.
| |||
Ayuda con tablas de Sistema pl/sql Gente, Estoy luchando con esto pero no lo encuentro, Alguien sabe en que tabla de sistema el oracle guarda los nombres de las tablas de las base de datos creadas por los usuarios con sus id correspondientes? Muchas gracias. Saludos. |
| |||
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 |