统计一个schema下有数据的表

统计一个用户下那些表有数据,那些个表没有数据,把没有数据的表名显示出来;

set serveroutput on;


declare
  v_num number;
begin
  for tt in (select 'select count(1) from ' || table_name as v_sql
               from user_tables) loop
    execute immediate tt.v_sql
      into v_num;
    if (v_num > 0) then
      dbms_output.put_line(tt.v_sql || ', rows=' || v_num);
    end if;
  end loop;
end;
/

set serveroutput off;


你可能感兴趣的:(sql)