选择有关表的信息 - Oracle SQL

时间:2012-02-15 02:28:03

标签: sql oracle

以下是我最近遇到的两个案例:

  1. 查询那些行数超过0但少于50行的表。
  2. 查询所有表以查找哪个表具有名为特定值的列。
  3. 这些都可能吗?如果是这样,怎么样?

1 个答案:

答案 0 :(得分:3)

获取具有特定列名称的表:

select * from all_tab_columns where column_name = '<colname in upper case>';

可以找到表中行数的估计值:

select table_name, num_rows from all_tables where num_rows between 1 and 49;

如果您的统计信息是最新的,这将会关闭。如果没有,您需要创建一个pl/sql进程来遍历表并对它们执行count(*)

编辑:找到了一篇关于行数查询的Ask Tom文章:Finding the number of rows in each table by a single sql