oracle存儲過程統計用戶各表記錄數

declaresql

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 ;
相關文章
相關標籤/搜索