先用sql生成一个脚本,执行之。因为没有直接的方法。
select 'prompt '||a.table_name||';'||chr(13)||'select count(*) from '||a.table_name||';'
from user_tables a
select 'prompt '||a.table_name||';'||chr(13)||'select count(*) from '||a.table_name||';'
from user_tables a
调试欢乐多
比如说一个叫mp的shcema下的t1,t2,t3三张表
谢了
set serveroutput on size 1000000
set autotrace off
set timing off
SPOOL C:\COUNT.SQL
DECLARE
v_t VARCHAR2(30);
v_all_t VARCHAR2(1000) ;
n INT;
BEGIN
dbms_output.put_line('/*');
v_all_t := UPPER('&v_tname');
dbms_output.put_line('*/');
IF Substr(v_all_t,-1) <> ',' THEN
v_all_t := v_all_t || ',' ;
END IF; n := Instr(v_all_t,',',1,1);
WHILE n>0 LOOP
v_t := Trim(Substr(v_all_t,1,n-1));
v_all_t := Substr(v_all_t,n+1);
Dbms_Output.Put_Line('SELECT COUNT(*) '||v_t||' FROM '||v_t||';');
n := Instr(v_all_t,',',1,1);
END LOOP;
END;
/
SPOOL OFF
@C:\COUNT.SQL
$DEL C:\COUNT.SQL