注册
统计每个用户下表的数据条数
技术分享/ 文章详情 /

统计每个用户下表的数据条数

浮生若梦 2022/07/12 1494 3 0

create table test_dm_count(owner varchar2(100),table_name varchar2(100),table_count varchar2(100));
create or replace procedure count_all_tables()
as
sql_count varchar2(100);
sql_insert varchar2(100);
result_count varchar2(100);
sql_truncate varchar2(100);
begin
dbms_output.enable;
sql_truncate:=‘truncate table “SYSDBA”.“TEST_DM_COUNT”’;
execute immediate sql_truncate;
for i in (select owner,table_name from dba_tables where owner not in(‘SYS’,‘CTISYS’,‘SYSAUDITOR’,‘SYSSSO’)) loop
if i.table_name not in(‘##PLAN_TABLE’,‘##HISTOGRAMS_TABLE’,‘TEST_DM_COUNT’) then
sql_count:=‘select count(*) from ‘||i.owner||’.’||i.table_name;
–dbms_output.put_line(sql_count);
execute immediate sql_count INTO result_count;
–dbms_output.put_line(result_count);
sql_insert:=‘insert into test_dm_count values(’‘’||i.owner||‘’‘,’‘’||i.table_name||‘’‘,’‘’||result_count||‘’‘);’;
dbms_output.put_line(sql_insert);
execute immediate sql_insert;
end if;
end loop;
commit;
end;
/

call “SYSDBA”.“COUNT_ALL_TABLES”();
select * from “SYSDBA”.“TEST_DM_COUNT”;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服