【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 

猜你喜欢

转载自www.cnblogs.com/huashengweilong/p/11089978.html