2012-04-10 58 views

Trả lời

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

không có gì trong bảng user_tab_columns –

+0

không hoạt động đối với tôi – BekaBot

+0

Nó hoạt động nhưng tên bảng có phân biệt chữ hoa chữ thường. –

4

Có lẽ một cái gì đó như thế này:

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

này sẽ đếm số cột trong một FOO bàn

Bạn cũng có thể chỉ

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

nơi chủ sở hữu là lược đồ và lưu ý Tên bảng có chữ hoa cao hơn

+0

Nếu tôi không chỉ cần đếm giá trị mà còn giá trị cột cụ thể, có thể nối thêm nó một cách dễ dàng không? – zygimantus

5

Cũ câu hỏi - nhưng tôi thời gian gần đây cần thiết này cùng với hàng đếm ... đây là một truy vấn cho cả hai - được sắp xếp theo hàng đếm 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; 
Các vấn đề liên quan