2012-04-10 13 views

Respuesta

27
select count(*) 
from user_tab_columns 
where table_name='MYTABLE' --use upper case 
+0

no hay nada en la tabla user_tab_columns –

+0

no funcionó para mí – BekaBot

+0

Funcionó, pero el nombre de la tabla distingue entre mayúsculas y minúsculas. –

4

Tal vez algo como esto:

SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO' 

esto va a contar el número de columnas de una FOO la tabla

también puede simplemente

select count(*) from all_tab_columns where owner='BAR' and table_name='FOO'; 

donde el dueño es el esquema y observar que Los nombres de las tablas son mayúsculas

+0

Si necesito no solo contar el valor sino también el valor de columna en particular, ¿es posible agregarlo fácilmente? – zygimantus

5

vieja pregunta - pero recientemente necesitaba esto junto con la fila contar ... aquí es una consulta para ambos - ordenado por fila recuento desc:

select t.owner, t.table_name, t.num_rows, count(*) 
from all_tables t left join all_tab_columns c on t.table_name = c.table_name 
where num_rows is not null 
group by t.owner, t.table_name, t.num_rows 
order by t.num_rows desc; 
Cuestiones relacionadas