你如何计算oracle中表中的列数?
SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO'
应该给你foo中的列数.您可以从相当多的信息USER_TAB_COLUMNS
和USER_TABLES
(也有ALL_
和DBA_
变型).
@derobert有一个很好的答案,只要你试图计算你拥有的表中的列.如果需要计算其他模式表中的列,则需要使用all_tab_columns视图.此视图中的其他列之一是表所有者.当多个模式中存在相同的表名时,这也很有用.请注意,您必须具有表的权限才能在all_tab_columns视图中查看它们.查询变为:
select count(*) from all_tab_columns where owner='BAR' and table_name='FOO';
请注意,owner和tablename列通常是大写的.