24

SQLを使用してテーブルの列数を数える方法は?

Oracle 11g を使用しています

助けてください。t。

4

3 に答える 3

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

大文字の代わりに、小文字の関数を使用できます。例: user_tab_columns where lower(table_name)='table_name'; から count(*) を選択します。

于 2012-04-10T07:00:26.927 に答える
10

多分このようなもの:

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

これは、テーブル FOO の列数をカウントします

また、

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

所有者はスキーマで、テーブル名は大文字であることに注意してください

于 2012-04-10T07:00:09.223 に答える
8

古い質問ですが、最近行数とともにこれが必要でした...ここに両方の​​クエリがあります-行数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; 
于 2014-03-03T20:26:21.290 に答える