der*_*ert 18
SELECT count(*) FROM user_tab_columns WHERE table_name = 'FOO'
Run Code Online (Sandbox Code Playgroud)
应该给你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';
Run Code Online (Sandbox Code Playgroud)
请注意,owner和tablename列通常是大写的.