Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Zählen nein. von Datensätzen aus mehreren Tabellen; Oracle-DB

Sie können die Funktion DBMS_XMLGEN.GETXMLTYPE verwenden, um dies auf einmal zu tun:

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.

Wenn Ihr Schema jedoch viele Daten enthält, kann dies lange dauern. Wenn die Schätzungen ebenfalls in Ordnung sind, reicht möglicherweise die Auswahl von NUM_ROWS aus.

Viele Grüße,
Rob.