U kunt de functie DBMS_XMLGEN.GETXMLTYPE gebruiken om dit in één keer te doen:
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.
Maar als uw schema veel gegevens bevat, kan dit lang duren. Gewoon NUM_ROWS selecteren kan voldoende zijn als de schattingen ook goed zijn.
Met vriendelijke groet,
Rob.