Как подсчитать количество столбцов в таблице с помощью SQL?

Как подсчитать количество столбцов в таблице с помощью SQL?

Я использую Oracle 11g

Пожалуйста, помогите. т.

Ответы

Ответ 1

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

Ответ 2

Старый вопрос - но я недавно нуждался в этом вместе со счетчиком строк... вот запрос для обоих - отсортировано по количеству строк 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;

Ответ 3

Возможно, что-то вроде этого:

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

это будет подсчитывать количество столбцов в таблице FOO

Вы также можете просто

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

где владелец - это схема и обратите внимание, что имена таблиц - это верхний регистр