create table table_row_count
(stat_date date ,
table_owner varchar2(40),
table_name varchar2(40),
table_count number
)
begin
for r in (select *
from dba_tables
where owner in
(select username
from dba_users
where created > (select created
from dba_users
where username = 'SCOTT'))) loop
--dbms_output.put_line('insert into table_row_count select sysdate, '''||r.owner||''', '''||r.table_name||''', count(*) from '||r.owner||'.'||r.table_name );
BEGIN
execute immediate 'insert into table_row_count select sysdate, ''' ||
r.owner || ''', ''' || r.table_name ||
''', count(*) from ' || r.owner || '.' ||
r.table_name;
EXCEPTION
WHEN OTHERS THEN
execute immediate 'insert into table_row_count select sysdate, '''||r.owner||''', '''||r.table_name||''', NULL from DUAL ' ;
END ;
end loop;
COMMIT ;
end;