2012-04-10 11 views

Antwort

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

nichts hat da in der Tabelle user_tab_columns –

+0

hat nicht für mich funktioniert – BekaBot

+0

Es hat funktioniert, aber der Name der Tabelle ist Groß-und Kleinschreibung. –

4

Vielleicht so etwas wie:

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

diese eine Anzahl von Spalten in der Tabelle FOO

Sie können auch nur

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

, wo der Besitzer ist Schema und beachten Sie zählen wird, dass Tabellennamen sind Großbuchstaben

+0

Wenn ich brauche nicht nur Wert, sondern auch bestimmte Spalte Wert, ist es möglich, es einfach anzuhängen? – zygimantus

5

alte Frage - aber ich dies vor kurzem erforderlich zusammen mit der Zeilenanzahl ... hier ist eine Abfrage für beide - für Zeile sortiert Zählung ab:

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; 
Verwandte Themen