【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