Para obtener datos de una o varias tablas en Oracle, ya sea columnas, tipos de dato, comentarios, largo máximo, etc. se pueden consultar a las siguientes tablas de sistema :
- ALL_TABLES : para obtener datos de las tablas.
- ALL_TAB_COLUMNS : para obtener datos de las columnas.
- ALL_COL_COMMENTS : para obtener los comentarios ingresados a las columnas
La siguiente consulta utiliza las 3 tablas para obtener la información necesaria para hacer un diccionario de datos:
SELECT col.owner, col.table_name, col.column_name, col.data_type, col.data_length, col.nullable, col.data_default, com.comments FROM all_tab_columns col, all_col_comments com WHERE col.table_name = com.table_name AND col.column_name = com.column_name AND col.owner=com.owner AND col.owner = 'FFCC' ORDER BY col.table_name, col.column_id
Nota : En la consulta, fue necesario filtrar por owner para que solo traiga las tablas necesarias.