Puoi utilizzare la funzione DBMS_XMLGEN.GETXMLTYPE per farlo in un colpo solo:
SQL> select table_name
2 , to_number
3 ( extractvalue
4 ( dbms_xmlgen.getxmltype('select count(*) c from ' || table_name)
5 , '/ROWSET/ROW/C'
6 )
7 ) cnt
8 from user_tables
9 order by table_name
10 /
TABLE_NAME CNT
------------------------------ ----------
... [output removed] ...
71 rows selected.
Ma se il tuo schema contiene molti dati, l'operazione potrebbe richiedere molto tempo. La semplice selezione di NUM_ROWS potrebbe essere sufficiente se anche le stime sono corrette.
Saluti,
Rob.