Ответ 1
select count(*)
from user_tab_columns
where table_name='MYTABLE' --use upper case
Как подсчитать количество столбцов в таблице с помощью SQL?
Я использую Oracle 11g
Пожалуйста, помогите. т.
select count(*)
from user_tab_columns
where table_name='MYTABLE' --use upper case
Старый вопрос - но я недавно нуждался в этом вместе со счетчиком строк... вот запрос для обоих - отсортировано по количеству строк 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;
Возможно, что-то вроде этого:
SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO'
это будет подсчитывать количество столбцов в таблице FOO
Вы также можете просто
select count(*) from all_tab_columns where owner='BAR' and table_name='FOO';
где владелец - это схема и обратите внимание, что имена таблиц - это верхний регистр