2010-05-04 24 views
10

Para una tabla en Oracle, puedo consultar "all_tab_columns" y obtener información de la columna de la tabla, como el tipo de datos, precisión, independientemente de si la columna es nula o no.Oracle: ¿Hay alguna manera de obtener los tipos de datos de columna para una vista?

En SQL Developer o TOAD, puede hacer clic en una vista en la GUI y escupirá una lista de las columnas que devuelve la vista y el mismo conjunto de datos (tipo de datos, precisión, nulable, etc.).

Así que mi pregunta es, ¿hay alguna manera de consultar esta definición de columna para una vista, de la manera que puede para una tabla? ¿Cómo lo hacen las herramientas GUI?

Respuesta

12

Puede utilizar user_tab_columns (o all_tab_columns y dba_tab_columns respectivamente) sin tener en cuenta si nombre_tabla se refiere a una vista o una tabla.

+0

Wow, gracias por eso. Juro que consulté all_tab_columns donde nombre_tabla = el nombre de mi vista y no obtuve ningún resultado ... Debo haber tenido un error tipográfico en mi consulta o algo así, porque lo intenté de nuevo y obtuve resultados. ¡Gracias! – CodingWithSpike

-5

puede utilizar las vistas de catálogo ANSI, debería funcionar para la mayoría de RDBMs

select * 
from information_schema.columns c 
join information_schema.tables t on c.table_name = t.table_name 
where table_type = 'view' 
+2

No creo que Oracle tenga esto. Nuestra instalación de Oracle no funciona, y no pude encontrar ninguna referencia para ello ... – sleske

3

Las columnas de vista aparecen en all_tab_columns, por lo que puede consultarlas como lo hace con las tablas.

0

Simplemente escribir esta consulta:

SQL> desc TABLE/VIEW NAME; 

Por ejemplo, si el nombre de la tabla/vista es "departamento" Entonces acaba de escribir:

SQL> desc department; 

Esto le dará la lista de todos los campos, es escriba y por defecto la información nula de la tabla o vista.

Cuestiones relacionadas