createorreplaceproceduretj_datais
--当前存储过程用到的变量
v_tableNameVARCHAR2(100);
v_sqlvarchar2(200);
v_countinteger;
--获取当前数据库中的所有表
CURSORTABLE_LOOPISSELECTTable_nameFROMUser_tables;
BEGIN
--打开游标
OPENTABLE_LOOP;
LOOP
FETCHTABLE_LOOPINTOv_tableName;
EXITWHENTABLE_LOOP%NOTFOUND;
v_sql:='selectcount(1)from'||v_tableName;
executeimmediatev_sqlintov_count;
dbms_output.put_line(v_tableName||':'||v_count);
ENDLOOP;
CLOSETABLE_LOOP;
endtj_data;
使用pl/Sql运行该存储过程,在DBMSOutput窗口下可看到统计结果。(把Buffersize值适当调大一点)