在项目中难免会碰见,让统计数据库中表有多少条数据,一个模式下可能有上百张表,总不能一个个去统计。
不废话,简单粗暴点
一、创建虚拟表
create global temporary table test(tab_name varchar(30),row_num int) on commit preserve rows;
二、查询表数据量
declare
count_rows int;
v_sql varchar(100);
begin
count_rows:=0;
for a in (select TABLE_NAME from dba_tables where owner='DMHR' and TABLESPACE_NAME<>'TEMP')
loop
v_sql:='select count(*) from DMHR.'||a.TABLE_NAME;
execute immediate v_sql into count_rows;
insert into test values(a.TABLE_NAME,count_rows);
end loop;
select * from test;
end;
/