oracle查询所有表的记录数SQL
oracle查询所有表的记录数SQL
查询用户所有表的总记录数, 并按总记录数进行排序.
1、创建函数
Sql代码 create or replace function count_rows(table_name in varchar2, owner in varchar2 default null) return number authid current_user IS num_rows number; stmt varchar2(2000); begin if owner is null then stmt := 'select count(*) from "'||table_name||'"'; else stmt := 'select count(*) from "'||owner||'"."'||table_name||'"'; end if; execute immediate stmt into num_rows; return num_rows; end;
2.然后通过计算函数进行统计
Sql代码 select table_name, count_rows(table_name) nrows from user_tables order by nrows desc