2010-05-04 12 views
10

Per una tabella in Oracle, posso interrogare "all_tab_columns" e ottenere informazioni sulla colonna della tabella, come il tipo di dati, precisione, indipendentemente dal fatto che la colonna sia annullabile.Oracle: esiste un modo per ottenere i tipi di dati di colonna per una vista?

In SQL Developer o TOAD, è possibile fare clic su una vista nella GUI e sputerà un elenco delle colonne restituite dalla vista e lo stesso insieme di dati (tipo di dati, precisione, nullable, ecc.).

Quindi la mia domanda è, c'è un modo per interrogare questa definizione di colonna per una vista, il modo in cui è possibile per una tabella? Come fanno gli strumenti della GUI?

risposta

12

È possibile utilizzare user_tab_columns (o all_tab_columns e dba_tab_columns rispettivamente), indipendentemente se table_name fa riferimento a una vista o una tabella.

+0

Wow, grazie per quello. Giuro di aver interrogato all_tab_columns dove table_name = il mio nome di visualizzazione e non ha ottenuto alcun risultato ... Devo aver avuto un refuso nella mia query o qualcosa del genere, perché ho appena provato di nuovo e ottenuto risultati. Grazie! – CodingWithSpike

-5

è possibile utilizzare le viste del catalogo ANSI, dovrebbe funzionare per la maggior parte RDBMS

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

Non penso che Oracle abbia questi. La nostra installazione di Oracle non lo fa, e non ho trovato alcun riferimento per questo ... – sleske

3

Le colonne di visualizzazione vengono visualizzate in all_tab_columns, quindi è possibile interrogarle come le tabelle.

0

Basta semplicemente scrivere questa query:

SQL> desc TABLE/VIEW NAME; 

Per esempio, se il nome della tabella/vista è "reparto" Poi basta scrivere:

SQL> desc department; 

Questo darà l'elenco di tutti i campi, è digita e assegna le informazioni Null della tabella o della vista.

Problemi correlati