【Oracle】【24】查询数据库中所有的表及其记录数

语句:

select t.table_name, t.num_rows from user_tables t

若以上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;

再用下面的语句进行查询:

select table_name, count_rows(table_name) nrows from user_tables 

 

posted @ 2019-06-26 15:08  花生喂龙  阅读(608)  评论(0编辑  收藏  举报