oracle存储过程统计用户各表记录数


declare

v_tName  varchar (50);
v_sqlanalyze  varchar (500);
v_num number;
v_sql  varchar (500);
cursor  c1 
is
select  table_name  from  user_tables;
begin
open  c1;
loop
fetch  c1  into  v_tName;
if c1%found  then
 
v_sqlanalyze := 'analyze table  ' ||v_tName|| '  estimate statistics' ;
execute  immediate v_sqlanalyze;
v_sql :=  'select NUM_ROWS  from user_tables where table_name =upper(' '' ||v_tName|| '' ')' ;
 
execute  immediate v_sql  into   v_num;
dbms_output.put_line( '表名: ' ||v_tName|| ' 行数: ' ||v_num);
else
exit;
end  if;
end  loop;
end ;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM