因为一直在做oracle 管理,对表的行数有一定要掌握,先编写了一个过程,进行统计用户下的表的所有行数。现贴如下:|

---------------------------------------------------------------------

create or replace procedure sp_static_tab

/**

* 统计所有表的行数

*/

is

vv_table_name varchar2(64);

vi_table_rows number;

vv_sqlstr     varchar2(200);

cursor r_cursor is

select table_name from user_tables

where substr(table_name,1,3)<>'BIN';

begin

EXECUTE IMMEDIATE 'truncate table tb_static_tab';

OPEN r_cursor;

LOOP

FETCH r_cursor INTO vv_table_name;

exit when r_cursor %notfound;

vv_sqlstr:='select count(1) from '|| vv_table_name;

begin

EXECUTE IMMEDIATE vv_sqlstr

into vi_table_rows;

insert into tb_static_tab

(

static_date ,

table_name  ,

table_rows  ,

table_size

)

values(

sysdate,

vv_table_name,

vi_table_rows,

null

);

end;

end loop;

close r_cursor;

commit;

end;

/****************************************

--建表

create table tb_static_tab

(

static_date date    , -- 统计日期

table_name varchar2(64),  -- 表名

table_rows number,       -- 表行数

table_size number         -- 表占空间 byte

);

*****************************************/

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐